小编str*_*spl的帖子

AngularJS:服务变量更改未应用

我目前有一个问题,当我在一个服务中调用一个函数来改变它自己的内部变量时,它似乎不会停留,除非我从控制器更改它.当我在更改后立即将变量输出到控制台时,它会显示正确的值.但是,当我调用控制器中的一个函数将对象打印到控制台时,它会显示原始值.

有问题的变量Im是"isSignedIn",它总是显示为false(在登录控制器中使用$ scope.verify方法确认),即使在"console.log('Signin:'+ isSignedIn);"行之后也是如此.显示真实.

提前感谢任何指导!

服务Skype

angular.module('Skype', ['ng'])
    .service('skypeClient', function () {
        //Service Properties
        var client = new Skype.Web.Model.Application;
        this.errors = [];
        this.errorCount = -1;
        var isSignedIn = false;
        var state = 'SignedOut';

        var init = function () { 
            client.signInManager.state.when('SignedIn', function () {
                isSignedIn = true;
                console.log('Signin:' + isSignedIn); // This outputs the correct value
            });
            property = client.signInManager.state;
            property.changed(function (status) { 
            state = status;
           console.log("New State"+status) });
           }

        //Signin Function
        var signIn = function (username,password) {
            client.signInManager.signIn({
                username: username, …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-service

1
推荐指数
1
解决办法
2746
查看次数

标签 统计

angularjs ×1

angularjs-service ×1

javascript ×1