org*_*tot 8 javascript angularjs angular-ui-router
我在我的主html文件中使用ui.router并包含我的导航:
<header ng-if-start="logedin()"></header>
<navigation ng-if-end="logedin()"></navigation>
Run Code Online (Sandbox Code Playgroud)
在logedin()布尔将通过设置angular.module().run()在这个函数:
$rootScope.$on('$stateChangeStart', function(e, to)
Run Code Online (Sandbox Code Playgroud)
如果我在其中一个导航中单击"注销",导航控制器将触发此功能:
$scope.logout = function() {
store.remove('jwt');
$state.go('login');
}
Run Code Online (Sandbox Code Playgroud)
问题是$state.go导航未隐藏后,但刷新页面后.
我是否必须重新渲染主索引模板/视图(以及如何)?或者我怎么能解决这个问题?
所以我自己解决了。很抱歉没有提供logedin()方法。
问题是:
$scope.logedin = function() {
return $rootScope.logedin
}
Run Code Online (Sandbox Code Playgroud)
已$rootScope.logedin在angular.module().run()- 函数中设置。
为了解决这个问题,我必须创建一个简单的 getter/setter 服务。
angular.module('sample')
.service('sharedLogedIn', function () {
var property = true;
return {
getProperty: function () {
return property;
},
setProperty: function(value) {
property = value;
}
};
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
528 次 |
| 最近记录: |