gpt4 book ai didi

javascript - 为什么 Angular 使用闭包来定义指令和其他核心语法?

转载 作者:行者123 更新时间:2023-11-30 00:22:11 25 4
gpt4 key购买 nike

必须这样写有什么好处:

app.directive("drink", function () {
return {
scope: {
flavor: "="
},
template: '<div>{{ flavor }}</div>'
};
});

而不是:

app.directive("drink", {
scope: {
flavor: "="
},
template: '<div>{{ flavor }}</div>'
}};

这种语法在 Angular 中被广泛使用。这是什么原因?

编辑:来自 https://thinkster.io/egghead/isolate-scope-eq

最佳答案

对于第一个示例,angular 可以控制何时创建配置对象,因此可以选择合适的时间。它还允许以以下形式进行依赖注入(inject):

app.directive("drink", ['drinkStoreService', function (drinkStoreService) {
return {
scope: {
flavor: "="
},
template: '<div>{{ flavor }}</div>',

link: function () {
// could use `drinkStoreService` here
}
};
}]);

虽然您的第二个示例没有上述任何功能。因此可用性要差得多。此外,由于对象文字将“当场创建/执行”,它甚至可能对程序流有害。

关于javascript - 为什么 Angular 使用闭包来定义指令和其他核心语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32734182/

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