div ng-app:
当在单个页面上加载了多个 ng-app 时,只有第一个会起作用。
查询后找到答案:在 angular 页面中,每一个 HTML 页面只有一个 ng-app 会被自动装载。
解决方案:其余的ng-app 可手动加载。
代码:
<div ng-app="first"
<p>我的第一个表达式: {{ 5 + 5 }}</p>
</div>
<div id="divSecond" ng-app="second" ng-controller="secondController">
<p>总价: {{ quantity * cost }}</p>
</div>
<script>
var app = angular.module('second', []);
app.controller('secondController', function ($scope) {
$scope.quantity = 1;
$scope.cost = 5;
});
angular.bootstrap(document.getElementById("divSecond"), ['second']);//使用angular.bootstrap() 完成模块的手动加载
</script>
ng-model
可绑定input数据,并且对多组数据进行操作
<div id="divThird" ng-app="third" ng-controller="thirdController">
数量:<input type="type" name="name" value="" ng-model="num" />
价格:<input type="type" name="name" value="" ng-model="price" />
<br />
<p>总价:<span>{{num*price}}</span></p>//计算两个model总和
</div>
ng-repeat
angular.js 中的模板循环指令
<div ng-app="">
<p>我的第一个表达式: {{ 5 + 5 }}</p>
</div>
<div id="divSecond" ng-app="second" ng-controller="secondController">
<p>总价: {{ quantity * cost }}</p>
<p>总价:<span ng-bind="quantity * cost"></span></p>
</div>
<div id="divThird" ng-app="third" ng-controller="thirdController">
数量:<input type="type" name="name" value="" ng-model="num" />
价格:<input type="type" name="name" value="" ng-model="price" />
<br />
<p>总价:<span>{{num*price}}</span></p>
<p>使用 ng-repeat 来循环数组</p>
<ul>
<li ng-repeat="x in names"> //循环标签
{{ x }}
</li>
</ul>
</div>
<script>
var app = angular.module('second', []);
app.controller('secondController', function ($scope) {
$scope.quantity = 1;
$scope.cost = 5;
});
angular.bootstrap(document.getElementById("divSecond"), ['second']);//使用angular.bootstrap() 完成模块的手动加载
var app = angular.module('third', []);
app.controller('thirdController', function ($scope) {
$scope.names = ['Jani', 'Hege', 'Kai']; //被循环的对象
});
angular.bootstrap(document.getElementById("divThird"), ['third']);//使用angular.bootstrap() 完成模块的手动加载
</script>
没有永远的记忆,只有勤奋的笔记