更改变量的名称,就像在 ng-repeat 中一样,但不重复

Change name of variable like in ng-repeat but without repeating?

本文关键字:一样 ng-repeat 变量 改变      更新时间:2023-09-26

在我的应用程序中,我有,说$scope.item.在我的页面中,我有模板将其称为其他内容,例如$scope.product.

在一个页面上,我需要将模型称为item,但随后使用ng-include打开将其称为product的模板。

当我在数组中只有一个项目时,我做了ng-repeat="product in item"。现在我取消了带有对象的单个数组,它只是一个对象。如果我这样做ng-repeat它将对对象中的每个键/值对重复。不是我想要的。

有没有办法说ng-alias="item as product"什么的?

ngInit用于别名。

ng-init="item = product"

根据文档

ngInit 唯一合适的用途是别名特殊属性 ngRepeat,如下面的演示所示。除了这种情况,你应该 使用控制器而不是 ngInit 来初始化作用域上的值。

如果是一次性绑定,你可以这样做

<... ng-init="product = item" ...>

但是,据我了解,黑客ng重复用于混叠目的,无需重复。在这种情况下ng-init仍然是一个黑客,以后可能会给您带来麻烦。

执行所需操作的正确方法是将模板放入指令中,并将指令的product变量与给定项链接。 即 HTML 看起来像这样:

<my-directive product="item"></my-directive>