在闭包中包装Angularjs代码的正确方法是什么?

时间:2015-06-10 03:52:12

标签: javascript angularjs closures

我在这个问题中概述了一个简单的应用程序:Angular scope not affecting ng-show as expected

通过全局变量暴露我的应用程序,这显然不太理想。

我已经尝试将Angularjs代码封装在一个闭包中但是我在浏览器中遇到错误,告诉我我试图访问的对象无法访问。

(function() {

// App code here

});

有没有办法公开我的应用程序,因此当前布局正常运行,或者我是否需要更改应用程序的整个结构才能实现此目的。

我理想地尝试减少全局变量污染,同时在html和js中保持app结构相同。

1 个答案:

答案 0 :(得分:2)

您缺少呼叫部分。

这是一种格式,还有其他几种格式。

(function (a, b){
    //Do stuff with `a` and `b`
})("a", "b");

注意最后一对parens。您定义的任何参数以及稍后传入的参数都是范围内的全局参数。