У меня есть шаблон для директивы следующим образом.Угловое двустороннее связывание не работает внутри шаблона директивы
(function() {
'use strict';
angular
.module('testApp', [])
.directive('leftNav', leftNav);
/* @ngInject */
function leftNav() {
return {
replace : true,
restrict: 'E',
template: '<div class="left-nav">' +
'<left-header title="{{LeftNavCtrl.titleName}}">' +
'</left-header>' +
'</div>',
controller: LeftNavController,
controllerAs: 'LeftNavCtrl',
bindToController: true
}
}
function LeftNavController($modal, $scope) {
var vm = this;
vm.titleName = "first";
$scope.$on('changeTitle', function(event, args) {
vm.titleName = "second";
});
}
})();
Здесь, когда страница получает визуализацию в первый раз, название будет «первым». И при нажатии кнопки на какой-либо другой директиве выдается событие, а вызов $ scope.on вызывается, но новое значение не отображается.
Thanks
почему вы используете $ scope.titleName для первого, а затем vm.titleName в часы? – Yaser
С 'controllerAs' вы не должны использовать' this' в корпусе контроллера? – Piou
Обновлен с фактическим кодом. Все еще не работает. –