另外,是否有類似main.js的那種js,裡面可以去定義全域變數。例如var http = "www.xxxx.com/",可以使得其他的Ctrl.js,都可以呼叫。
var http = "www.xxxx.com/"
认证0级讲师
思路不對,angular中不需要定义全局变量。你的数据应该通过service, factory, provider來提供。 而這些東西是可以依賴注入的,所以壓根不需要全域變數
angular
service
factory
provider
$rootScope是個對象,可以$rootScope.xxx='';的形式去綁定全域的變數
@leftstick 說的對,AngularJS使用依賴注入的風格來架構整個應用的框架,最好不要聲明全域變量,而是把它做成Service。這樣你能避免不少問題:
ACtrl
window.a
BCtrl
在Angular中,最合理的辦法就是把a做成一个aService,注入到ACtrl和BCtrl之中。
a
aService
如何定義一個service,以及Module、Service、Factory、Provider之間的關係可以參考這篇部落格:
http://harttle.github.io/2015/06/07/angular-module.html
雷雷
現在angularjs2 都出來了
思路不對,
angular
中不需要定义全局变量。你的数据应该通过service
,factory
,provider
來提供。而這些東西是可以依賴注入的,所以壓根不需要全域變數
$rootScope是個對象,可以$rootScope.xxx='';的形式去綁定全域的變數
@leftstick 說的對,AngularJS使用依賴注入的風格來架構整個應用的框架,最好不要聲明全域變量,而是把它做成Service。這樣你能避免不少問題:
ACtrl
中定义了一个全局变量window.a
,比如你想在BCtrl
中使用它,那么你需要保证ACtrl
在BCtrl
之前得到執行,這往往是不好實現,甚至是邏輯混亂的。在Angular中,最合理的辦法就是把
a
做成一个aService
,注入到ACtrl
和BCtrl
之中。如何定義一個service,以及Module、Service、Factory、Provider之間的關係可以參考這篇部落格:
http://harttle.github.io/2015/06/07/angular-module.html
雷雷
現在angularjs2 都出來了