为什么这个控制器只实例化一次?

时间:2015-10-10 15:18:08

标签: javascript angularjs angularjs-controller angularjs-controlleras

我有以下内容(也在Plunker中):

<?php
session_start();
session_destroy();
<script type="text/javascript">

function firstFunction(_callback){
    sessionStorage.clear();
    _callback();
}

function secondFunction(){
    firstFunction(function() {
        window.location = './';
    });    
}
secondFunction();
</script>

查看控制台,我只看到一条消息<!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> ,只有第二个收件箱的下方打印了绑定值:

enter image description here

我期待两个独立的控制器被实例化,实际上在填充值之后,似乎有两个独立的范围,但是我无法解释初始状态。

2 个答案:

答案 0 :(得分:4)

第一个ng-controller指令声明中的错字。

<div ng-conroller="ExampleCtrl as ctl">

应该是

<div ng-controller="ExampleCtrl as ctl">

Working Plunkr

答案 1 :(得分:1)

那是因为拼写错误:

第一个控制器的拼写为:conroller而不是controller