首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我需要使用IIFE,为什么Angular不使用它?

如果我需要使用IIFE,为什么Angular不使用它?
EN

Stack Overflow用户
提问于 2016-03-16 22:37:18
回答 2查看 306关注 0票数 1

John Papa的风格指南中,他提到了在(function(){..})中包装每个组件的必要性,这给我的代码增加了几行代码,这让我很担心,但还不足以证明一个漫长的变通方案是合理的。

但是,当我查看实际的Angular Code时,就像$compile和控制器的代码一样,我看不到这些声明。

如果Ng不认为IIFE很重要,那么为什么将变量与IIFE隔离对我来说很重要?或者一个更好的问题是,为什么Angular不实现IIFE?

EN

Stack Overflow用户

发布于 2016-03-16 22:48:05

我认为答案可能是,这要视情况而定。

首先,AngularJS必须公开angular以供用户使用,因此它不能在生命周期内。(就像jQuery公开$jQuery一样,尽管它有一个只公开jQuery的选项)。

然后,如果您决定使用AngularJS,那么AngularJS向全局空间公开一些其他东西也就不足为奇了。但到目前为止,我使用的是AngularJS,我只看到angular被公开,我做的所有事情,我都是这样做的

代码语言:javascript
运行
复制
angular.module()
    .controller()
    .directive()
    .factory()
    .service();

并且$compile不会暴露在全局空间中。

您只需使用IIFE创建一个局部作用域,这样变量就不会成为全局作用域的一部分。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36038803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档