在我的应用中,我说$scope.item
。在我的页面中,我有模板将其称为其他内容,例如$scope.product
。
在一个页面上,我需要将模型称为item
,然后使用ng-include
打开将其称为product
的模板。
当我在数组中只有一个项目时,我做了ng-repeat="product in item"
。现在我用一个对象取消了单个数组,它只是一个对象。如果我执行ng-repeat
,它将对对象中的每个键/值对重复。不是我想要的。
有没有办法说ng-alias="item as product"
或其他什么?
答案 0 :(得分:1)
ngInit用于别名。
ng-init="item = product"
ngInit的唯一合适用途是对特殊属性进行别名处理 ngRepeat的内容,如下面的演示所示。除了这种情况,你应该 使用控制器而不是ngInit来初始化作用域上的值。
答案 1 :(得分:0)
如果是一次性绑定,你可以做
<... ng-init="product = item" ...>
然而,根据我的理解,你在哪里进行黑客攻击 - 重复播放目的而不需要重复。在这种情况下,ng-init
仍然是一个可能会导致您以后遇到麻烦的黑客。
执行所需操作的正确方法是将模板放入指令中,并从指定项链接指令的product
变量。即html看起来像这样:
<my-directive product="item"></my-directive>