У меня немного проблем понимания областей и отношения между областями в директиве и объеме в контроллере ..Обновление значения директивы от контроллера в AngularJS
У меня есть директива, отображающее Navbar, как это в навигационной панели я хочу, чтобы отобразить имя, что я хранится с использованием LocalStorage
(function (module) {
var navbar = function() {
return {
restrict: "AE",
controller: function ($scope, localStorage) {
$scope.name = localStorage.get("name");
},
templateUrl: "/app/NSviewer/templates/nav.html"
};
};
module.directive("navbar", navbar);
}(angular.module("anbud")));
Теперь, когда эта страница загружается в первый раз LocalStorage не установить значение имени. Поэтому navbar получает имя = null. Затем контроллер делает:
localStorage.add("name", name);
и имя задано, если я обновить страницу, Navbar загружается снова, на этот раз имя хранится в LocalStorage и отображается правильно.
Так что я хочу сделать что-то вроде $scope.name = 'John Smith'
в контроллере, а затем обновить директиву/навигацию.
почему бы вам не задать имя основного контроллера и разоблачить его в функции связи? – ngLover