AngularJs学习笔记(1)——ng-app

众所周知:

ng-app 指令用于告诉 AngularJS 应用当前这个元素是根元素。所有 AngularJS 应用都必须要要一个根元素。

只有被具有ng-app属性的DOM元素包含的元素才会受angularJS影响

使用ng-app声明Angular的边界,你可以用ng-app 指令告诉Angular 应该管理页面中的哪一块,可以是整个HTML,也可以是某个div

 

HTML 文档中只允许有一个 ng-app 指令,如果有多个 ng-app 指令,则只有第一个会被使用,一个页面会自动加载第一个ng-app。

 

AngularJS启动并生成视图时,会将根ng-app元素同$rootScope进行绑定。 

一个ng-app可以有多个controller,$scope的范围局限于每一个controller中。

$rootScope是所有$scope对象的最上层 

 

 ng-app 声 明 所 有 被 它 包 含 的 元 素 都 属 于 AngularJS 应 用 ,

DOM 元 素 上 的ng-controller声明所有被它包含的元素都属于某个控制器

 

问题来了:

我就是想要多个ng-app,虽然这样做不知道有什么用???

有例子如下:

<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
<body>

<div id="app1" ng-app="App1">
<span  ng-controller="myCtrl" ng-init="firstName='John' ; lastName='DoeDoe'">{{ firstName + " " + lastName }}</span>
<br>
<span  ng-controller="yourCtrl">{{ secondName + " " + thirdName}}</span>
</div>
<br>


<div id="app2" ng-app="App2" ng-controller="yourCtrl">
{{ secondName + " " + thirdName }}
</div>

<script>
var app = angular.module("App1", []);
app.controller("myCtrl", function($scope) {  
//    $scope.lastName = "Doe";
});
app.controller("yourCtrl", function($scope) {
    $scope.secondName = "小米1";
    $scope.thirdName = "大米1";
});

var app1 = angular.module('App2', []);
app1.controller("yourCtrl", function($scope) {
$scope.secondName = "小米4";
$scope.thirdName = "小米5";
});

//默认加载app1,通过下面的代码显示启动app2,但是必须写在app2申明之后
angular.bootstrap(document.getElementById("app2"), ['App2']);
</script>

</body>
</html>

 

posted @ 2017-07-12 16:44  风谷逍遥客  阅读(547)  评论(1编辑  收藏  举报