【发布时间】:2020-02-19 12:42:58
【问题描述】:
我正在尝试在 Angular 8 代码中实现 [ngInit],如此链接 ConvertingAngular1To2ngInit 中所述
它几乎对我有用,但问题是它执行了不止一次,在某些情况下它进入无限循环或几乎无限,它完全崩溃了我的页面。
所以我尝试将函数作为{{functionName(5)}} 放在html 中,即使我将它放在*ngIf 指令中,它也会执行多个。
我什至开始了新项目,只是把函数放在 html 中,至少它执行了四次
我为这个问题搜索了很多并陷入了角度生命周期钩子但什么也没理解。
【问题讨论】:
-
当你直接在模板中调用一个方法时,它会在每次运行 Angular Change Detection 时运行。这就是为什么你会看到它被多次调用。问题是,你需要实现这样的功能吗?你想达到什么目的,可能还有其他方法
-
我想实现一个像 [ngInit] 这样的指令,它也随之发生。多次执行
-
你可以使用
*ngIf="variable && yourFunction()"之类的。所以只有当变量为真时才执行函数
标签: angular angularjs-directive angular-loopback angular-lifecycle-hooks