我的任務:通過JSON文件使用ng-repeat製作的一頁滑塊。跨度顯示每個滑塊的值。顯示(value of the slider * a grams value per selected unit)
的輸入。AngularJS中的範圍和變量輸出
Here's my Plunkr with multiple sliders, each with a selection of 2 food values.
示出滑動件的輸出應爲0初始化我的第一個問題是,如果我在0在如在前面的問題所示的主控制器初始化它的跨度,則此改變的範圍滑塊demoVals.slider
讓頁面上的所有滑塊現在工作異口同聲:
//assign initial values
$scope.demoVals = {};
$scope.demoVals.slider = 0;
如果你註釋掉這些行,每個滑塊現在可以單獨再次操作。
我以爲我可以通過分配一個唯一的標識符NG-模型中的每個滑塊其輸出的& & NG綁定解決這個問題,但有沒有更好的方式來限制範圍,使初始化單獨發生的每個NG-重複?
我的下一個問題是嘗試調用輸出值的乘法函數:如何將所選克數單位(可在模板中作爲{{ unit-grams }}
訪問)傳遞給控制器,並將結果返回爲input
?
//calculate weight
$scope.$watch('demoVals.slider', function (newVal) {
if (typeof newVal !== 'undefined') {
$scope.calculated = newVal * 3.14159; //an arbitrary number that I want to be the variable unit.grams
}
});
哇,非常感謝您的工作示例。我是否還應該將ng-init =「unit = food.unit [0]」'移動到ng-repeat中,在那裏你已經在演示中移動了其他初始化?我似乎無法使用現在選擇的第一個選項來初始化選擇列表。 – Ila
在ng-repeat中找到它:'food.unit.selected = food.unit [0]'',再次感謝您的演示! – Ila