я что-то очень элементарное ....Angularjs как изменить текст в представлении с контроллера иной точки зрения в
отсутствующего у меня есть три представления, созданное в angularJS: заголовок, тело и нижние колонтитулы. Я хочу изменить текст в заголовке от входа в систему для входа в систему после успешного входа в систему, а также от выхода из системы, чтобы войти в систему, когда пользователь вышел из системы.
Мои файлы/код:
index.php:
<div ui-view="header"></div>
<div ui-view="main"></div>
<div ui-view="footer"></div>
header.page.html (я думаю, что я хочу, нг-привязывать или {{некоторые вар}} здесь)
<li><a href="#login" >Login</a></li>
login.component.js (не уверен, как получить значение в header.page.html)
login(){
var user = {
company: this.company,
username: this.username,
password: this.password
};
var me = this;
this.$auth
.login(user)
.then(function (response) {
me.$auth.setToken(response.data);
// CHANGE LOGIN TO LOGOUT IN HEADER
me.$state.go('app.dashboard');
})
.catch(function (response) {
console.log("error response", response);
})
};
А функция выхода из системы (не уверен, как получить значение header.page.html)
function dashboardController($state, $scope, $auth){
$scope.isAuthenticated = function() {
return $auth.isAuthenticated();
};
document.title = "Dashboard";
$scope.logout = function() {
$auth.logout();
//change Logout To Login text in header
$state.go('app.home');
};
}
Ввести '$ rootScope' на ваш контроллер и привязать его к нему –
Вы можете транслировать сообщение входа/выхода из системы. Я не уверен, что это лучший вариант, но он будет работать. –
Alon Eitan Я предполагаю, что я надеялся избежать $ rootScope, но ваш комментарий помог моему поиску .... в настоящее время сейчас читает страницу о том, почему не использовать rootScope, но эй, я просто хочу, чтобы это сработало .... что сказал бы было сделано 24 часа назад с jquery – Iannazzi