假设我有两个不同的视图,每个视图都有自己的控制器,在第一个视图中我想要检索我在输入文本中写入的数据,当我单击提交按钮时,加载第二个视图从第一个检索到的数据。
我可以使用服务,在第二个视图中显示数据,但刷新页面后,再也没有了。
我错过了什么吗?
这是我的代码:
Application.service("checkingcity", function($rootScope, $timeout){
var city = {};
city.data = false;
city.sendData = function(data){
this.data = data;
$timeout(function(){
$rootScope.$broadcast('data_shared');
},100);
};
city.getData = function(){
return this.data;
};
return city;
});
控制器从第一个视图的输入文本中检索数据:
Application.controller("ControllerOne", function($scope, checkingcity){
$scope.checkCity = function(){
if($scope.City){
checkingcity.sendData($scope.City);
}
else{
alert("No data");
}
}
});
从第一个视图/控制器读取数据的第二个控制器:
Application.controller("ControllerTwo", function($scope, checkingcity){
$scope.town = '';
$scope.$on('data_shared',function(){
var town = checkingcity.getData();
$scope.town = town;
});
});