ng-app與ng-app=""是同樣的,都是沒定義應用名的,例如bootstrap
<div ng-app="" ng-init="firstName='echo'"> <h1>個人名字是:{{firstName}}</h1> </div>
比較奇怪的是,在裏面加入了應用名,就報錯了。app
<div ng-app="myApp" ng-init="firstName='echo'"> <h1>個人名字是:{{firstName}}</h1> </div>
firstName並未解析,緣由是,ng-app爲定義名稱時會自動去解析,但若是你添加了名稱,它會去找對應模塊的執行代碼,因爲咱們並未定義模塊代碼,才致使了報錯。這樣改改spa
<div ng-app="myApp" ng-controller='myCtrl'> <h1>個人名字是:{{firstName}}</h1> </div> //JS部分 var app = angular.module('myApp',[]); app.controller('myCtrl',function($scope){ $scope.firstName='echo'; })
又正常了!3d
那若是咱們聲明多個ng-app會怎麼樣?一個加應用名,一個不加code
<div ng-app="" ng-init="firstName='echo'"> <h1>個人名字是:{{firstName}}</h1> </div> <div ng-app="myApp" ng-controller='myCtrl'> <h1>你的名字是:{{lastName}}</h1> </div> //JS部分,我爲轉爲myApp應用定義了模塊便於區分 var app = angular.module('myApp',[]); app.controller('myCtrl',function($scope){ $scope.lastName='echo'; })
默認只加載了第一個!那咱們在同頁面存在多個ng-app狀況下,仍是能夠利用angular.bootstrap(element, [modules], [config]);解決blog
初學angular,後續學到再到此博文補充吧。element