0

У меня есть следующий (также в 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 и только второй почтовый ящик имеет связанное значение, обозначенное под ней:

enter image description here

Я ожидал создания двух отдельных контроллеров и, действительно, после заполнения значений, кажется, что есть две независимые области действия, однако я не могу объяснить начальное состояние.

ответ

4

Typo in first ng-controller Декларация директивы.

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

должен быть

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

Working Plunkr

+0

Upvoted но я собираюсь удалите вопрос. Это ничего не добавляет сообществу. –

+0

@MarcusJuniusBrutus Это может помочь человеку, который мог совершить орфографическую ошибку, как вы, и ее обычная ошибка орфографии, поскольку угловая директива не имеет intellisense на IDE .. –

+0

, но это странно, что после начальной загрузки можно введите значения в первом поле или втором поле и увидите два разных значения, которые печатаются. Любые мысли по этому поводу? –

1

Thats из-за опечатки:

Первый контроллер пишется как: conroller вместо controller

Смежные вопросы