我已經看到了很多的例子在線呈現以下基本AngularJS代碼:在Angular中聲明全局應用變量不好嗎?
var app = angular.module("ExampleApp", []); // setter, creates a new module
app.controller(...
,並屬於同一角模塊下的其他文件:
var app = angular.module("ExampleApp"); // getter, retrieves the existing module
app.service(...
這讀取到內存中的全局「應用程序」變量,可通過其他文件訪問。第二個文件如果我擺脫了「吸氣劑」,只需從app.service(...
開始。
我認爲這是一個不好的做法,不要使用getter,只是首先使用全局變量,但是我想知道在全部處聲明全局變量是不好的做法。我的第一個想法是變量包中的每個文件的IIFE在本地範圍,或擺脫var app
部分,只是鏈.controller
,.service
等權到angular.module()
。
預先感謝您的專業意見。
會'app.myGlobal =「你好world''不行? – evolutionxbox
這與其他任何一種全局變量都是一樣的問題。是的,它肯定會產生影響。在生產中,你可能確實將它包裝在一個IIFE中,可能你的實際製作的Javascript構建系統會在編譯/打包你的Javascript時做到這一點。 – deceze
你怎麼知道'var app'是一個全局變量?你確定它不在(commonjs/ES6)模塊中嗎? – Bergi