为什么这个控制器只实例化一次?
why is this controller instantiated only once?
我有以下内容(也在 Plunker 中):
<!doctype html>
<html
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
</head>
<body ng-app="theApp">
<div ng-conroller="ExampleCtrl as ctl">
<input type="text" ng-model="ctl.value"/><br>
{{ctl.value}}
</div>
<div ng-controller="ExampleCtrl as ctl">
<input type="text" ng-model="ctl.value"/><br>
{{ctl.value}}
</div>
<script>
angular.module('theApp', [])
.controller('ExampleCtrl', [
function () {
var self = this;
self.value = 'Lorem ipsum';
console.log('controller instantiated');
}
]);
</script>
</body>
</html>
查看控制台,我只看到一条消息controller instantiated
,只有第二个收件箱下方打印了绑定值:
我原以为会实例化两个单独的控制器,实际上在填写值后似乎有两个独立的范围,但我无法解释初始状态。
第一个 ng-controller
指令声明中的错字。
<div ng-conroller="ExampleCtrl as ctl">
应该是
<div ng-controller="ExampleCtrl as ctl">
那是因为打字错误:
第一个控制器拼写为:conroller
而不是 controller
我有以下内容(也在 Plunker 中):
<!doctype html>
<html
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
</head>
<body ng-app="theApp">
<div ng-conroller="ExampleCtrl as ctl">
<input type="text" ng-model="ctl.value"/><br>
{{ctl.value}}
</div>
<div ng-controller="ExampleCtrl as ctl">
<input type="text" ng-model="ctl.value"/><br>
{{ctl.value}}
</div>
<script>
angular.module('theApp', [])
.controller('ExampleCtrl', [
function () {
var self = this;
self.value = 'Lorem ipsum';
console.log('controller instantiated');
}
]);
</script>
</body>
</html>
查看控制台,我只看到一条消息controller instantiated
,只有第二个收件箱下方打印了绑定值:
我原以为会实例化两个单独的控制器,实际上在填写值后似乎有两个独立的范围,但我无法解释初始状态。
第一个 ng-controller
指令声明中的错字。
<div ng-conroller="ExampleCtrl as ctl">
应该是
<div ng-controller="ExampleCtrl as ctl">
那是因为打字错误:
第一个控制器拼写为:conroller
而不是 controller