我正在尝试将数据从服务传递到角度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);
})
服务正在运行,因为我得到了承诺并且执行了成功的功能,但是我无法将该函数外的变量传递给控制器范围。
答案 0 :(得分:2)
如果您希望该值在最后一行可用
console.log('Inside controller: '+test);
然后你是不对的。由于代码的异步性质,最后一行将在服务返回数据之前执行。
您的逻辑应该在成功方法中完成,或者使用$scope.$watch
来观察变量的测试变量