从Typescript函数中手动更改视图/控制器

时间:2015-01-04 03:53:34

标签: angularjs typescript visual-studio-2013

用户登录我的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

1 个答案:

答案 0 :(得分:1)

/master/loggedin或其他内容设置路由,然后仅在登录响应成功时使用$location.url(url);在此处导航。

注意:$window.location不会触发角度导航,但$location.url会触发,即模板/控制器等将被处理。