角度相同控制器的多次使用

时间:2016-01-16 22:30:39

标签: angularjs

有角度的问题。在我的网站上有评论。每个注释共享相同的'ng-controller =“commentCtrl”'指令。现在,当我在我的网站上有大约300条评论时,有300个commentCtrl实例。在控制器的html中,我在按钮上使用ng-disabled =“author_provided()”。 当我更改作者输入文本字段时,所有300条注释都在调用author_provided()(因为此函数依赖于作者ng-model)。这会导致性能问题。我想只在我要更改作者的控制器中调用author_provided()函数。如何实现?

1 个答案:

答案 0 :(得分:1)

将针对每个$摘要周期的每个评论评估author_provided函数。如果你必须绕过这种行为,我建议添加作者提供的boolean作为comment对象的属性。然后您的模板代码可以简单地读取:ng-disabled=comment.author_provided(无函数调用),Angular将在不调用控制器函数的情况下评估结果。

为每个注释调用该函数,因为模板引擎在不评估控制器函数调用的情况下无法知道每个注释的ng-disabled结果。