我是Angular的新手,还在学习。我读了很多关于使用CMS生成静态HTML但是然后将其转换为Angular Models / Scopes然后进一步处理它。
现在我正在尝试在ng-init指令中为模型数组添加值,如下所示:
<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/
感谢您提前提供任何帮助:)
答案 0 :(得分:3)
在尝试使用art
设置默认值之前,您需要确保先声明ngInit
数组(取消注释注释后的代码)。请参阅this fiddle作为示例。
$scope.art = [
{'anzahl': 0},
{'anzahl': 0},
{'anzahl': 0}
];
$scope.addOne = function(artIndex) {
$scope.art[artIndex].anzahl += 1;
}
更新:此处还有其他一些选项
1)如果这有助于您的理解,您可以使用ng-repeat
并在anzahl
的控制器代码中声明默认值,例如this fiddle。这将减少标记中的代码并将模型的声明移动到控制器中,根据您的目的,它可以更清洁。
2)如果您仍想使用ngInit
,可以将每个项目推送到标记中的art
数组,如this fiddle中所示。