gpt4 book ai didi

javascript - 使用 init() 调用或 ng-init 初始化数据?

转载 作者:行者123 更新时间:2023-11-30 15:14:19 27 4
gpt4 key购买 nike

在我的 AngularJS 应用程序中,我必须在加载时初始化一些值。

我在心里写了一个函数init()

function init() {
this.var = 'example';
}

更好是在我的 JS 脚本末尾调用 init 函数,还是使用 ng-init 属性?

解决方案一

/* script.js */
function init() { /* instructions */ }
init();

方案二

/* script.js */
function init(){ // instructions // }}
// Not calling init() here

<!-- file.html -->
<div ng-controller="exampleCtrl as example" ng-init="example.init()">

最佳答案

来自ngInit docs :

This directive can be abused to add unnecessary amounts of logic into your templates. There are only a few appropriate uses of ngInit, such as for aliasing special properties of ngRepeat, as seen in the demo below; and for injecting data via server side scripting. Besides these few cases, you should use controllers rather than ngInit to initialize values on a scope.

因此,当您有选择时,总是倾向于在您的 Controller 中进行初始化:解决方案 1 更好。


更广泛地说,就separation of concerns而言,我建议在您的 Controller 中编写逻辑。如果您有多个 Controller 使用的公共(public)代码部分,请将其移至服务。这将大大简化您的应用程序在成长过程中的可维护性。

关于javascript - 使用 init() 调用或 ng-init 初始化数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44693709/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com