2014-10-07 88 views
1

值我有輸入框在一個循環內的HTML:使用的控制器複雜NG-模型從模板

<div ng-repeat="line in list.performance_recommendations"> 
     <label>{{line.template.message}} 
       <input class="k-textbox" value="{{line.template.new_value}}" type="number" ng-model="line.template.new_value"> 
     </label> 
</div> 

這是樣本數據:

 list.performance_recommendations = [ 
    { 
    id : 121, 
    template : { 
     message : "Stop", 
     new_value : 232, 
     } 
    }, 
    { 
    id : 122, 
    template : { 
     message : "Paused", 
     new_value : 23232, 
     } 
    } 
] 

我如何使用這個NG-模型在我的angularjs控制器?

$ scope.line.template.new_value不是說的。

+0

你是什麼意思,它是「不工作」?當你使用console.log()時會發生什麼?未定義? – 2014-10-07 06:18:44

+0

這是Actula錯誤:TypeError:無法讀取未定義的屬性'模板' – 2014-10-07 06:24:12

+1

然後我們需要相應控制器的代碼,特別是'list.performance_recommendations'的定義 – boindiil 2014-10-07 06:28:33

回答

1

您不能綁定到line,因爲它是一個局部變量,它沒有在$scope上定義。嘗試將您的HTML更新爲:

<div ng-repeat="line in list.performance_recommendations"> 
     <label>{{line.template.message}} 
       <input class="k-textbox" value="{{line.template.new_value}}" type="number" ng-model="$parent.list.performance_recommendations[$index].template.new_value"> 
     </label> 
</div> 

我創建了a Fiddle來證明這一點。

+0

如何在控制器中使用此ng模型值? – 2014-10-07 06:38:17

+0

你綁定到列表,而不是'ng-repeat'實例化的'line'變量 – thomaux 2014-10-07 06:39:20

+0

我需要在我的控制器輸入框中輸入新的更新值....只有..... – 2014-10-07 06:43:22