0

Angular には、次の単純なモデルがあります。

$scope.rdata = [
    {1: 7, 2: 23,3: 9, 4: 13,5: 32},
    {1: 23, 2: 8,3: 67, 4: 11,5: 6},
    {1: 35, 2: 12,3: 24, 4: 17,5: 24},
    ];

ng-repeat を使用して html でレンダリングします。

<table>
    <thead>
        <p>Example of xy data rendered</p>
    </thead>
    <tbody>
        <tr ng-repeat="row in rdata">
          <td ng-repeat="c in col">
            <div>{{row[c]}}</div>
          </td>
          <td>
            <input type="range" id="example" min="0" max="1" step="0.01">
          </td>
          <td><div>
            Value compiled: {result of input range value * value in row[c]}
             </div></td>
         </tr>
    </tbody>
</table>

基本的に、同じ行の入力範囲値と同じ行の最後の列の値の積として、最後の div (コンパイルされた値が書き込まれる場所) の最後の div に表示される値をバインドしたいと思います。可能であれば、列 x と行 y にある値を参照し、それを操作したり、式などに入れたりする方法があるかどうかを理解したいと思います...別の角度モデルを構築する必要はありません。

私が達成しようとしていることが十分に明確であるかどうか教えてください。

編集:私のデータはもう少しこのようなものです:

$scope.financials2 = [ { '2011': 98, '2012': 97, '2013': 100, name: 'Sales' },
  { '2011': -5, '2012': -6, '2013': -7, name: 'Costs of Goods Sold' },
  { '2011': 93, '2012': 91, '2013': 93, name: 'Gross Profit' },
  { '2011': -37, '2012': -36, '2013': -35, name: 'Operating Expenses' },
  { '2011': 54, '2012': 55, '2013': 58, name: 'Operating income' } ]

データのフォーマットを再構築する必要があるかもしれません。アイデアは行ごとにあり、売上高、総利益などの概念を示し、値は年ごとにグループ化された列に表示されます

したがって、中間段階は次のようになります。

Concept            2011 2012 2013
Sales                98   97  100
Cost of Goods Sold   -5   -6   -7
Gross Profit         93   91   93 

アイデアは、2つの列を追加したいということです。

  • 行ごとにスライダー (入力範囲) があり、成長率を示しているため、基本的に入力範囲は -0.05 から +0.05 です。
  • 2014 年の予測を示す別の列: 2014 年の売上 = 2013 年の売上 * (1 + スライダーの値)、2014 年の総利益 = 2013 年の総利益 * (1 + スライダーの値)

そのため、2 つの追加の列があり、最初の列にはすべての行のスライダーが含まれ、2 番目の列には 2013 列にスライダーの値を掛けた結果が表示されます。それが今より明確であることを願っています。

4

1 に答える 1

0

ここに到達しようとしているように見える 2 つのピースがあります。1 つ目は入力フィールドの値を取得する方法で、2 つ目は行 [c] を取得する方法です。

入力フィールドについては、ng-model を使用して入力の値を行に追加できます。

オブジェクトについては、 だけではなく、値ごとに名前を定義するのが最善{1:1, 2:3, 3: 4}です。last提供されている例では、この jsfiddle の例でオブジェクトの最後のアイテムを呼び出しました。

http://jsfiddle.net/reszjcu2/ - 警告、フォーマットはかなりがらくたです。

ng-repeat はオブジェクトではなく配列でのみ機能するため、行オブジェクトのキーと値を指定する必要があることに注意してください。オブジェクトに名前付きアイテムを実際に持たない場合に配列を使用するもう 1 つの理由。

于 2014-09-29T03:49:58.667 に答える