angular.js - angular.module中模塊的名字一定要和ng-app屬性的值一樣嗎
問題描述
例如ng-app='app',如果angular.module('app',[]);中的名字不定義為'app'的話會(huì)報(bào)錯(cuò)。
問題解答
回答1:
ng-app 是整個(gè)angular應(yīng)用的入口,他會(huì)根據(jù)ng-app指定的名稱去尋找對(duì)應(yīng)的angular模塊,如果不一致就無法找到對(duì)應(yīng)的模塊進(jìn)行初始化。所以應(yīng)用的根模塊名稱必須和ng-app指定的名稱一致
回答2:
ng-app 是整個(gè)應(yīng)用程序的入口,所以必須和入口的module名一致,一個(gè)應(yīng)用程序只能有唯一一個(gè)ng-app
回答3:
一個(gè)angular應(yīng)用中,可以有多個(gè)angular.module。應(yīng)該有且只有一個(gè)angular.module的名稱與ng-app的值一致,否則就沒有意義了。
angular.module(’M1’,[]);angular.module(’M2’,[]);......angular.module(’Mn’,[]);angular.module(’app’,[’M1’,’M2’,...,’Mn’]);
M1,M2,...,Mn可能是不同的業(yè)務(wù)模塊,可以單獨(dú)作為一個(gè)angular.module,最后全部掛載在app模塊下。
-----------------------------------分割線---------------------------------------------------
以上是自動(dòng)加載。如果采用手動(dòng)加載,則不受名稱限制,不受app數(shù)量限制。
<!DOCTYPE html><html> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <script src='angular.min.js'></script><body> <p id='app1'><p ng-controller='myCtrl'> {{ hello }}</p> </p><p id='app2'><p ng-controller='myCtrl'> {{ hello }}</p> </p> <script type='text/javascript'>var app1 = angular.module('test1',[]);app1.controller('myCtrl',function($scope){ $scope.hello = 'a Angular app';});var app2 = angular.module('test2',[]);app2.controller('myCtrl',function($scope){ $scope.hello = ' another Angular app';});angular.bootstrap(document.getElementById('app1'),[’test1’]);angular.bootstrap(document.getElementById('app2'),[’test2’]); </script></body></html>
效果圖
以上例子,啟動(dòng)了兩個(gè)angular app,且沒有使用ng-app指令。
回答4:
謝謝各位的耐心解答
回答5:
一定要一樣的 因?yàn)檫@是最首要的angular綁定
相關(guān)文章:
1. javascript - log4js的使用問題2. angular.js - angular ng-class里面的引號(hào)問題3. javascript - Web微信聊天輸入框解決方案4. docker - 如何修改運(yùn)行中容器的配置5. javascript - Ajax加載Json時(shí),移動(dòng)端頁面向左上角縮小一截兒,加載完成后才正常顯示,這該如何解決?6. javascript - history.replaceState()無法改變query參數(shù)7. mysql無法添加外鍵8. javascript - es6將類數(shù)組轉(zhuǎn)化成數(shù)組的問題9. javascript - react 中綁定事件和阻止事件冒泡10. css - 對(duì)于類選擇器使用的問題
