1

这是 [plunker]:http ://plnkr.co/edit/iPsyEAIQWxJIJuneZb8B?p=preview

我想要的是当我点击登录时,auth 指令应该自动将模板更改为“logout.html”,然后当点击注销时,切换到使用“login.html”。但到目前为止,我应该手动刷新页面以制作切换模板的指令。

我怎样才能达到这个目的?

4

2 回答 2

1

使用路线。

app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider
        .when('/login', {
            templateUrl: 'login.html',
            controller: 'loginCtrl'
        })
        .when('/logout', {
            templateUrl: 'logout.html',
            controller: 'logoutCtrl'
        })
}]);

然后你做 $location.path('/logout') 或 $location.path('/login')

这是教程: http ://docs.angularjs.org/tutorial/step_07

于 2013-11-05T10:18:55.833 回答
0

我已经修复了你的 plunker 中的几个错误。在这里查看

您的主要错误是 $watch 表达式。应该scope.$watch('authed', function () {});不是scope.$watch(scope.authed, function () {});

我也玩了一点,想出了这个版本。这个想法是将登录/注销逻辑与 cookie 操作分开,并摆脱显式 DOM 操作、$compile() 等。

于 2013-11-05T14:14:00.547 回答