angularJS中控制器和作用範圍

2021-09-27 13:47:07 字數 1011 閱讀 5560

$scope是$rootscope的子作用域控制物件,$rootscope的id為1,其他的為2,3,4...

不同的控制器之間,所對應的作用域控制物件$scope,之間是相互隔離的,如果要共享資料,可以借助$rootscope這個根作用域控制物件來實現。

angularjs 中在觸發事件和傳送廣播時,都可以傳遞引數,可以通過這一特性,來實現資料的共享。與事件和廣播相關的,共有三個方法,分別是:

1.$emit():觸發事件,它可以向上傳遞資料,比如,子控制器向父控制器,還有控制器向$rootscope

2.$broadcast():傳送廣播,它可以向下傳遞資料,比如,父控制器向子控制器傳遞資料,或者$rootscope向任意控制器傳遞資料

3.$on():監聽事件與廣播,可以捕獲$emit$broadcast

可以將控制器之間的通訊,分為三種情形:

1.無直接關聯的控制器:使用$rootscope.$emit()、$rootscope.$boardcast()$scope.$emit來發出資料,通過 $rootscope.$on() 來獲取資料

2.父控制器到子控制器:父控制器使用$scope.$boradcast()來傳送資料,子控制器通過$scope.$on()來獲取資料

3.子控制器至父控制器:子控制器使用$scope.$emit()來傳送資料,父控制器通過$scope.$on()來獲取資料

更多專業前端知識,請上

【猿2048】www.mk2048.com

angularJs控制器執行順序

js書寫控制器的順序無所謂,它不會立刻例項化這些控制器,也不會在載入js以後就執行控制器裡的 也不會注入服務和指令.當解析html的時候,它的ng controller遇到什麼控制器,它就去例項化哪個控制器.這個時候,控制器裡面的 才會被執行到,服務等依賴也在這個時間被注入.demo1裡,html的...

子控制器 和 父控制器

1 新增子控制器很簡單 分兩步 乙個是 view 乙個是 controller 1 self addchildviewcontroller tablectr 2 self.view addsubview tablectr.view 最後不要忘了加一行 tablectr didmovetoparent...

(4)AngularJS 1 X 之控制器

2 通過控制器賦值變數 3 控制器產生作用域 在起初我們就說過angularjs基於mvc的實現,在開發過程中我們是將controller和view分離的,在此篇部落格中我們就來看看如果在angularjs中實現控制器。在說控制器之前我們先看看,如果沒有控制器,我們應該如何賦值我們的變數呢?在第一篇...