2012-10-26 33 views
0

我是Angular的新手,仍然在學習。我讀了很多關於用CMS生成靜態HTML的信息,但隨後將其轉換爲Angular Models/Scopes,然後進一步處理它。Angular.js使用ng-init向modelarray添加值

現在我想添加值的NG-初始化指令的模型像這樣的數組:

<div ng-init="art[0].anzahl=3">...</div> 
<div ng-init="art[1].anzahl=2">...</div> 
<div ng-init="art[2].anzahl=9">...</div> 

但它不會工作,沒有人能看到我的愚蠢的錯誤還是我我總是錯了我如何使用ng-init?

這裏的鏈接到完整的示例:http://jsfiddle.net/Preexo/xVUty/

感謝提前任何幫助:)

回答

3

你需要確保你的art陣列第一(在取消了您的註釋代碼)之前聲明您嘗試使用ngInit設置默認值。以this fiddle爲例。

$scope.art = [ 
    {'anzahl': 0}, 
    {'anzahl': 0}, 
    {'anzahl': 0}   
]; 

$scope.addOne = function(artIndex) { 
    $scope.art[artIndex].anzahl += 1; 
} 

更新:這裏有一些其他的選項

1)如果這有助於在所有與你的理解,你可以在你的控制器代碼this fiddle使用ng-repeat並宣佈默認值anzahl等。這將減少標記中的代碼,並將模型的聲明移動到控制器中,根據您要做什麼,控制器可以更清晰。

2)如果你仍然想使用ngInit您可以在this fiddle每個項目推入art數組中您的標記等。

+0

謝謝,就是這樣!很簡單,很明顯,我的錯誤...關於你的更新: – Preexo

+0

:我明白了你的觀點,但是我用CMS生成了HTML,並且我很難生成javascript數組......但是非常感謝! – Preexo