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