Рассмотрим следующие AngularJS приложения:Почему контроллер создан дважды?
- http://jsfiddle.net/pathes/QPL3R/ - приложение, основанное на учебник от angularjs.org домашней страницы
- http://jsfiddle.net/pathes/cUaEv/ - его Jasmine тесты.
Метод addPane()
толкает панель в список панели контроллера, paneCount()
возвращает его длину. После создания 3 панели, метод доступа к paneCount()
от связывания {{paneCount()}}
и непосредственно в тесте: scope.paneCount()
возвращает 0.
Оказывается, что AngularJS создает два экземпляра контроллера - один доступный из методов контроллера, другой из прицела. Кто-нибудь знает, почему необходимо создать два экземпляра? Есть ли способ получить доступ к тем же свойствам как от методов контроллера, так и от области видимости?