繁体   English   中英

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

[英]Pass data from service to controller

我正在尝试将数据从服务传递到角度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);

})

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

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

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

那你就错了 由于代码的异步性质,最后一行将在服务返回数据之前执行。

您的逻辑应该在success方法中完成,或者使用$scope.$watch来监视测试变量的变化

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM