Я пытаюсь передать некоторые данные с контроллера в текущем виде на мою панель навигации. но данные разделяются неправильно или не синхронизированы правильно.Угловые данные фабрики не используются правильно
это моя фабрика:
myApp.factory('HeaderData', function() {
var data = {
Visible: true,
PageTitle: ''
};
return {
getVisible: function() {
return data.Visible;
},
setVisible: function (visible) {
data.Visible = visible;
console.log("HeaderData: " +visible);
},
getPageTitle: function() {
return data.PageTitle;
},
setPageTitle: function (title) {
data.PageTitle = title;
}
};
});
тогда в моих контроллеров я делаю следующее:
myApp.controller('homeCtrl',function ($scope, HeaderData) {
HeaderData.setVisible(false);
console.log("HomeCtrl: " + HeaderData.getVisible());
});
в контроллере Nav я прочитал данные, как следующее:
регистрируется следующий выход:
NavCtrl: true
HeaderData: false
HomeCtrl: false
Так что мой NavContrl загружается до моих данных установлены, и это логично, потому что это, как это в HTML:
<div ng-controller="navCtrl">
<ng-include ng-show="showHeader" src="'../partials/common/header.html'"></ng-include>
</div>
<div ng-view></div>
Так как я могу заставить его работать, что мой navCtrl обновляет данные правильно, и в этом примере скрыть заголовок, когда значение $scope.showHeader
установлено на false
?
Это делает то же самое, только другой способ прохождения данных, если мои тесты wrong – Kiwi
Нет, они не то же самое. Попробуйте, это обычная «добыча» в AngularJS. – pixelbits
Я попробовал, но были некоторые проблемы с синхронизацией, мой плохой! благодаря! – Kiwi