У меня есть следующая настройка состояния для страницы с использованием абстрактного состояния и контроллера в качестве синтаксиса:
# Details page route
.state 'title',
url: '/title',
abstract: true,
template: '<ui-view/>',
.state 'title.show',
url: '/:titleId',
templateUrl: 'title/show.html'
controller: 'Title as t'
В целях этой демонстрации можно сказать, что я назначаю переменную экземпляру 't' контроллера 'Title', и я делаю это внутри функции контроллера Title.
angular.module('title').controller 'Title',
['$state', ($state) ->
this.name = 'Test'
и внутри моего представления 'title/show.html' Я пытаюсь распечатать эту переменную, которую я только что создал на странице:
{{t.name}}
Я ничего не вижу. Но если я удалю контроллер нашего ui-router и на элемент, который обертывает страницу "title/show.html" следующим образом:
<div ng-controller="Title as t">
Тогда все работает отлично. Кто-нибудь сталкивался с этой проблемой раньше. У меня есть работа в другом приложении, поэтому я все еще пытаюсь понять, что может быть другим в этом приложении, возможно, в версиях js-библиотеки.