javascript - 为什么我的 js 函数返回的是自身而不是返回值? [ Angular ]

标签 javascript angularjs

我肯定遗漏了一些明显的东西,但我想不通,这让我发疯。我正在使用 angular 并且我有一个工厂“Auth”,它在“Auth”的返回 {} 中具有此功能(为了强调而强制返回 false):

isAuthenticated: function() {
            var storedJwt = $window.sessionStorage.authToken;
            console.log('stored JWT: '+storedJwt);
            if(storedJwt){
                var storedPayload = jwtHelper.decodeToken(storedJwt);
                console.log('payload: '+JSON.stringify(storedPayload));
                if(jwtHelper.isTokenExpired(storedJwt)){
                    console.log('is expired expired: '+jwtHelper.getTokenExpirationDate(storedJwt));

                    delete $window.sessionStorage.authToken;
                } else {
                    console.log('is not expired expires: '+jwtHelper.getTokenExpirationDate(storedJwt));    
                }
            }

            return false;
            //LocalService.get('authToken');
        },

然后在 Controller 中我这样做:

$scope.isLoggedIn = function(){
    console.log('chk:'+Auth.isAuthenticated);
    return Auth.isAuthenticated;
};

虽然 console.log 显示:http://grab.by/GZSw

因此总是返回 true。为什么我不能让它是假的?我认为这可能是非常基本的 js 问题,但我不明白。

最佳答案

您需要使用括号调用该函数。

$scope.isLoggedIn = function(){
    console.log('chk:'+Auth.isAuthenticated());
    return Auth.isAuthenticated();
};

关于javascript - 为什么我的 js 函数返回的是自身而不是返回值? [ Angular ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30041911/

相关文章:

javascript - 如何将utf8编码的html嵌入到元素中

javascript - 排队异步 HTTP 文件上传

javascript - Angular - 一段时间后删除类(class)

javascript - Angular 路由/动态内容

javascript - 将表单 json 响应放在 div block 中(不是 iframe)

javascript - 客户端应用程序的模块化方法

javascript - 树结构的多个javascript切换

javascript - 范围属性可见性

javascript - 根据随机输入数组修改 AngularJS 中的集合

javascript - 使用 Angular ng-style 调出背景图像