Javascript 如何从Angularjs中的控制器重新加载另一个控制器?

Javascript 如何从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

嗨,我正在用angularjs开发网站。我正在使用ui路由。我想在用户登录后重新加载状态。我有index.html和app.js。下面是我的app.js

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'
});