将数据从服务传递到控制器

时间:2014-01-28 12:02:15

标签: javascript angularjs

我正在尝试将数据从服务传递到角度js中的控制器,代码如下:

.controller('lista',function($scope,cetrams){
    $scope.hola="This is it";

    var test;
    var testfn = function(){
        test = 'Lala';
    };

    cetrams.success(function(data){
        testfn();
        test = data;
        console.log('Inside service: '+test);
    });

    console.log('Inside controller: '+test);

})

服务正在运行,因为我得到了承诺并且执行了成功的功能,但是我无法将该函数外的变量传递给控制器​​范围。

1 个答案:

答案 0 :(得分:2)

如果您希望该值在最后一行可用

console.log('Inside controller: '+test);

然后你是不对的。由于代码的异步性质,最后一行将在服务返回数据之前执行。

您的逻辑应该在成功方法中完成,或者使用$scope.$watch来观察变量的测试变量