0

一次绑定在 AngularJS 中不起作用。为什么?

这是一段代码:

<div ng-repeat="c in ::relatedCasesInfo.hideRelations(type.cases, info) 
       | limitTo:relatedCasesInfo.initialRelationsAmount track by c.idFromFirst"
     class="initial-case-container">
    <ng-include ng-repeat="name in [c.name + (type.otherCasesArePresent || !$last || type.cases.length > relatedCasesInfo.initialRelationsAmount ? ', ' : '' )]"
        src="'dist/directiveTemplates/card/controls/relatedCases/casesContextMenu.html?v=' + $root.appVersion">
    </ng-include>
</div>

这是hideRelations功能:

function hideRelations(relations, info) {
    return relations;
};

运行 html 后,我看到它hideRelations被无限调用了很多次。为什么?我在这里可能缺少什么?

4

1 回答 1

2

框架会重新计算,因为函数要么返回值undefined,要么计算不稳定。

从文档:

一次性绑定

以 开头的表达式::被视为一次性表达式。一次性表达式一旦稳定就会停止重新计算,如果表达式结果是未定义的值,则在第一次摘要之后发生(请参阅值稳定算法)。

有关详细信息,请参阅

于 2020-03-11T17:17:40.323 回答