1

複数の AngularUI スライダーを含むページと、各スライダーの値を ng-bind で表示するスパンがあります。次のようになります。

   <div class="formitem" ng-repeat="food in foodlist" >
     <div ui-slider="{range: 'min'}" min="0" max="{{ unit.max }}" ng-model="demoVals.slider" class="food-slider" >
      <div class="begin">1</div>
      <div class="end"> {{ unit.max }} {{ food.uid }}  </div>
    </div>
    <span ng-bind="demoVals.slider"></span>
   </div>       

ng-model を食品ごとに一意にしたいので、 のようなものdemoVals.slider57で、57 は の出力です{{ food.uid }}。テンプレートで問題なく印刷できます{{ food.uid }}が、それを ng-model または ng-bind に追加しようとすると、次のようになります。

 ng-model="demoVals.slider[food.uid]"

各食品の ng-model に food.uid を追加するにはどうすればよいですか?

4

2 に答える 2

0

配列を使用する代わりに個々の要素を使用することは、アーキテクチャ上の適切な選択ではないようです。スライダーの値を配列に入れるように切り替えてみてください。

ただし、かなり醜いですが、コントローラー関数を使用して目的を達成することができます。あなたの中でng-repeat関数にバインドすることができます

<div ng-bind="test(food.uid)"></div>

関数は

$scope.test = function test(v) {
        var t = $scope.$eval("demoVals.slider" + v);
        return t;
      };
于 2013-11-04T11:14:14.523 に答える