根据用户的登录状态,我正在尝试显示不同的部分内容。
我目前正在使用Angular-ui-Router
和TemplateCache
以下列方式
ncApp.factory('LoginState', function($http){
return {
getLoginState: function(){
$http.get(serverUrl+"/loginCheck/").
success(function(data){
if(data.success == true){
return true;
}else{
return false;
}
})
}
}
})
ncApp.config(function($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider){
$urlRouterProvider.otherwise('/');
$stateProvider.state('index',{
url: '/',
templateProvider: function($templateCache, LoginState){
template = LoginState.getLoginState() ? 'home.html' : 'index.html';
return $templateCache.get(template);
},
controller: 'indexCtrl'
});
$locationProvider.html5Mode(true).hashPrefix('!');
$httpProvider.defaults.withCredentials = false;
$httpProvider.defaults.useXDomain = true
delete $httpProvider.defaults.headers.common['X-Requested-With'];
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
})
在渲染时,我的主Ui-View
中的index.html
不会呈现任何部分。我使用了如下指令
<section ui-view autoscroll="false" class="ui-view-class">
</section>
如何解决此问题或更好地实施条件部分?