用户登录我的Web应用程序后,我想加载一个新视图,因为我想从登录页面转到主/详细页面。
所以,我准备好了一个html片段,但我不确定如何调用以便加载新视图。
我设置了这样的路线:
.when("/master", { templateUrl: "Templates/SalonMaster.html", controller: "SalonAdminInfoCtrl" })
在我的登录控制器中我有这个:
self.$scope.submitLogin = function () {
dataSvc.processLogin(self.$scope.username, self.$scope.password, self.$scope.salon.Id);
dataSvc.salon = self.$scope.salon;
self.$scope.giftCertForm.$setPristine();
};
我在想我应该使用' $ window.location.href',除非我用' master'替换登录路线。路线我不确定我应该做什么,或者这是否有效。
因此,登录后,如何激活正确的视图和控制器,因为只有从服务器返回的响应正确时才会切换它。
这个问题很相似,但也许我需要以编程方式点击隐藏的链接,但应该有更好的方法。
AngularJS : router : load view manually from within controller
答案 0 :(得分:1)
为/master/loggedin
或其他内容设置路由,然后仅在登录响应成功时使用$location.url(url);
在此处导航。
注意:$window.location
不会触发角度导航,但$location.url
会触发,即模板/控制器等将被处理。