【发布时间】:2014-04-28 06:30:16
【问题描述】:
如果看过 thinkster.io augularjs 教程的人会熟悉下面的代码。我面临以下错误。
<ul class="nav navbar-nav navbar-right" ng-show="signedIn()">
<li>
<a href="#" ng-click="logout()">Logout</a>
</li>
</ul>
首先退出按钮没有出现。添加单引号后它出现了
<ul class="nav navbar-nav navbar-right" ng-show="'signedIn()'">
但是当我点击注销时,用户并没有被注销。
nav.js 代码
app.controller('NavCtrl', function ($scope, $location, Post, Auth) {
$scope.post = {url: 'http://', title: ''};
$scope.submitPost = function () {
Post.create($scope.post).then(function (ref) {
$location.path('/posts/' + ref.name());
$scope.post = {url: 'http://', title: ''};
});
};
$scope.logout = function () {
Auth.logout();
};
});
services/auth.js 代码
app.factory('Auth', function($firebaseSimpleLogin, FIREBASE_URL, $rootScope){
var ref = new Firebase(FIREBASE_URL);
var auth = $firebaseSimpleLogin(ref);
var Auth = {
register: function(user){
return auth.$createUser(user.email, user.password);
},
signedIn: function(){
return auth.user !== null;
},
logout: function(){
auth.$logout();
}
};
$rootScope.signedIn = function(){
return Auth.signedIn();
};
return Auth;
});
【问题讨论】:
-
您如何确定它不起作用?我们可以尝试验证的错误或条件是什么?
-
见下面丹尼尔的回答。这为我解决了。