我想从另一个控制器访问任何身体帮助
的变量我的代码
app.controller('MapCtrl',function($scope, $state, $cordovaGeolocation) {
$scope.search_item = function($event,item){
console.log(item);
var lat = item.lat;
var lng = item.lng;
}
});
到
app.controller("homeCtrl", function($scope,$http, $filter ){
});
答案 0 :(得分:0)
您可以设置一个“分享”的服务。两个控制器之间的变量。
在app /目录中创建一个文件:services.js(app.js所在的位置)
angular.module('app.services', [])
.service('var_transfer_service', function(){
var test_var;
return {
getVar: function () {
return test_var;
},
setVar: function( _test_var ) {
test_var = _test_var;
}
}
})
现在将此服务注入需要变量共享的控制器:
app.controller('MapCtrl',function($scope, $state, $cordovaGeolocation, var_transfer_service) {
$scope.search_item = function($event,item){
console.log(item);
var lat = item.lat;
var lng = item.lng;
var_transfer_service.setVar(lat);
}
});
app.controller("homeCtrl", function($scope,$http, $filter, var_transfer_service ){
var transferred_var = var_transfer_service.getVar();
// transferred_var will now equal 'lat' from the other controller
});
您可以进一步修改services.js中的函数定义和控制器中的函数调用,以容纳更多变量。
确保还将services.js模块添加到您的应用中:
angular.module('app', ['ionic', 'app.controllers', 'app.services'])