我的任务:通过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
答案 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
项目。