范围& AngularJS中的变量输出

时间:2013-11-04 11:39:38

标签: javascript angularjs

我的任务:通过JSON文件使用ng-repeat制作的滑块页面。跨度显示每个滑块的值。输入显示(value of the slider * a grams value per selected unit)

Here's my Plunkr with multiple sliders, each with a selection of 2 food values.

显示滑块输出的范围应初始化为0.我的第一个问题是,如果我在主控制器中将其初始化为0(如上一个问题所示),则会更改滑块{{1}的范围所以页面上的所有滑块现在都齐声运行:

demoVals.slider

如果您注释掉这些线条,现在可以再次单独操作每个滑块。

我想我可以通过为ng-model&分配一个唯一的标识符来解决这个问题。每个滑块的ng-bind&它的输出,但有没有更好的方法来限制范围,以便每个ng-repeat单独进行初始化?

我的下一个问题是尝试在输出值上调用乘法函数:如何将选择的克单位(在模板中可以作为 //assign initial values $scope.demoVals = {}; $scope.demoVals.slider = 0; 访问)传递给控制器​​,并将结果作为结果返回{{ unit-grams }}的价值?

input

1 个答案:

答案 0 :(得分:0)

我不太确定你实际尝试做什么来解决这个问题(你的意思是“通过为每个滑块及其输出的ng-model& ng-bind指定一个唯一的标识符?”),但是如果你想要每个食物滑块的单独值,它也应该是食物对象的一个​​元素,因为它本质上属于这个对象。

而不是使用demoVals.slider使用,例如food.slider。您也可以使用ng-init初始化它,即ng-init="food.slider=0;"

我更新了Plunkr:http://plnkr.co/edit/CbkSZpzoqXwcMkV1EDdp?p=preview

然而,将所有这些分成自己的食物控制器似乎是个好主意。这样,您就可以处理自己范围内的每个food项目。