我想将数据从 Controller 1 共享到另一个 Controller
我的第二个 Controller 出现未定义的错误。有人能告诉我我的代码有什么问题吗?
服务
app.service('var_transfer_service', function(){
var test_var;
return {
getVar: function () {
return test_var;
},
setVar: function( _test_var ) {
test_var = _test_var;
console.log(test_var);//show the object content in my console
}
}
})
Controller 1
app.controller('homeCtrl', function($scope,$http, $filter ,var_transfer_service){
$scope.search_item = function ($event,item){
console.log(item)
var latt = item.lat;
var lngt = item.lng;
var_transfer_service.setVar(item);
}
});
Controller 2
app.controller('MapCtrl',function($scope,var_transfer_service, $state, $cordovaGeolocation) {
var transferred_var = var_transfer_service.getVar();
console.log(transferred_var); //undefined object
});
最佳答案
它是未定义的,因为它没有初始化:
var test_var;
您只需在 setVar 函数上设置一个值,该函数会在第二个 Controller 的 $scope.search_item 函数中调用(您从未调用过)。
你的缩进行为是什么?
关于javascript - AngularJS服务中 undefined object ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37917792/