Javascript 如何从Angularjs中的控制器重新加载另一个控制器?
嗨,我正在用angularjs开发网站。我正在使用ui路由。我想在用户登录后重新加载状态。我有index.html和app.js。下面是我的app.jsJavascript 如何从Angularjs中的控制器重新加载另一个控制器?,javascript,angularjs,Javascript,Angularjs,嗨,我正在用angularjs开发网站。我正在使用ui路由。我想在用户登录后重新加载状态。我有index.html和app.js。下面是我的app.js var app = angular.module('RoslpApp', ['pascalprecht.translate']); app.config(function ($stateProvider, $urlRouterProvider, $translateProvider, $translatePartialLoaderProvide
var app = angular.module('RoslpApp', ['pascalprecht.translate']);
app.config(function ($stateProvider, $urlRouterProvider, $translateProvider, $translatePartialLoaderProvider)
{
$urlRouterProvider.otherwise('/HomePage');
$stateProvider
.state('Login', {
url: '/Login',
templateUrl: 'App/Registration/Login.html',
controller: 'Login'
});
});
app.controller('RoslpAppController', ['$scope', function ($scope) {
var cookieloginid = $cookieStore.get('LoginID');
if (cookieloginid != null) {
//This will reoload
var id = document.getElementById('ProfileDropdown');
id.innerHTML = $scope.ProfileDropdown = ' <ul>' +
'<li><a href="#/userProfile">User Profile</a></li>' +
'<li>test1</li>' +
' <li onclick="logout(event)">logout</li>' +
'</ul>';
$scope.dp == false;
}
登录成功后,我将获得登录id,并将其存储在cookie中。在RoslpAppController中,我想检查登录时cookie是否存在。我可以知道怎么做吗?谢谢。在登录POST呼叫后,您必须转换到从服务器获得成功响应的状态。 要转换到状态,请使用-
$state.go(“,{params},{reload:true})
如果您没有RoslpAppController
的任何状态,请创建一个
在OP的评论后编辑:
.state('Roslp', {
url: '/Roslp',
templateUrl: 'App/Registration/View.html',
controller: 'RoslpAppController'
});
在templateUrl中,提供登录后要加载的视图。
现在就使用
$state.go(“Roslp”{params},{reload:true})
。可能重复感谢。我没有RoslpAppController的状态,因为它在app.js文件中。我可以知道我如何为它创建状态吗?我已经创建了一个plunker。plnkr.co/edit/zjzlqjwrpok4sklvaa8?p=登录成功时预览我想重新加载控制器RoslpAppController
.state('Roslp', {
url: '/Roslp',
templateUrl: 'App/Registration/View.html',
controller: 'RoslpAppController'
});