国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Angular.js 依賴注入問題

瀏覽:157日期:2024-10-02 10:43:25

問題描述

//定義A模塊var A = angular.module(’a’,[]);A.value(’time’,new Date());//定義B模塊var B = angular.module(’b’,[’a’]);B.controller(’conB’,function($scope,time){ $scope.b = time.getFullYear();});<p ng-controller = 'conB'> {{b}} //--> 2016</p>———————————————————————————————————————— //定義A模塊var A = angular.module(’a’,[]);A.controller(’conA’,function($scope){ $scope.a = 12;});//定義B模塊var B = angular.module(’b’,[’a’]);B.controller(’conB’,function($scope,conA){ $scope.b = conA.a;});<p ng-controller = 'conB'> {{b}} //--> {{b}}報錯</p>————————————————————————————————————————

這是為什么??? 控制器之間可以進行依賴注入嗎???

A.value是什么???

問題解答

回答1:

value很像是個常量(除了不能在config階段使用),看文檔:

Angular.js 依賴注入問題

至于為什么conA不能在conB中使用的問題,純粹是你玩錯了路子,首先,這種controller之間互相依賴的方式就不推薦;其次,如果你非要這么玩,代碼也不是那么寫的:

//定義B模塊var B = angular.module(’b’,[’a’]);B.controller(’conB’,function($scope, $controller){ var ctrlAViewModel = $scope.$new(); $controller(’conA’,{$scope : ctrlAViewModel }); $scope.b = ctrlAViewModel.a;});回答2:

用的手機簡單說下:

var B = angular.module(’b’,[’a’])這就話是說 B模塊依賴了A模塊,然后

B.controller(’conB’,function($scope,time){ $scope.b = time.getFullYear(); });

就是說 在B模塊的 Conteoller 中注入 time,用這種方式注入的話,要注入的類必須和定義一樣。如果想用第二種方式,也就是你寫的下面這種的話要這樣,可以使用 $inject,這樣也可以避免壓縮代碼變量簡寫的問題。

相關文章:
主站蜘蛛池模板: 西充县| 准格尔旗| 大名县| 漯河市| 许昌县| 泰顺县| 五大连池市| 兴仁县| 莱阳市| 赤壁市| 东乌珠穆沁旗| 松滋市| 和平县| 永寿县| 本溪| 六枝特区| 白城市| 太谷县| 盐源县| 潜山县| 祁门县| 新建县| 鞍山市| 金堂县| 邓州市| 威海市| 贵阳市| 临夏市| 大同市| 商城县| 罗平县| 犍为县| 孙吴县| 尤溪县| 铜山县| 林周县| 乐山市| 隆昌县| 托克托县| 旅游| 望谟县|