无法将数据从一个控制器移动和跟踪到另一个angularjs
Unable to move and track data from one controller to another angularjs
女士们,先生们,我在这里堆叠:我正在尝试做以下事情1) 从数据库中获取特定子类别的业务。我成功地做到了。2) 我从CategoryCtrl
中得到它们,我想在加载了SearchCtrl
的搜索页面上显示它们。我在CategoryCtrl
中看到了数据,但在SearchCtrl
中没有跟踪到它。在SearchCtrl
中什么也看不到:这是我的代码。有人请帮我解决
Html
<div class="col-lg-12 col-sm-12 col-md-12 col-xs-12" ng-controller="CategoryCtrl">
<a hfref="#" style="text-decoration:none" ng-click="getBusinesses(sub_category.id)" class="badblack">{{sub_category.name}}</a>
</div>
javascript
.controller('CategoryCtrl', ['$scope','$rootScope','sharedproperties',function($scope,$rootScope,sharedproperties){
$scope.getBusinesses=function(sub_category_id)
{
$http.get($scope.BaseURL+"classes/util.php?sub_category_id="+sub_category_id+"&transaction=get_businesses").then(function(results){
alert("results are"+results);
console.log("jsonstring axctualyy is",results);
$scope.bus_es = results;
sharedProperties.setProperty($scope.bus_es.data);//successfully sets property
console.log("sharedProperty is",sharedProperties.getProperty());
$rootScope.$broadcast("CallSubcategoryBusinesses", $scope.bus_es.data);
window.location.href=BaseURL+"search.php";
});
}
}])
.controller('SearchCtrl',['$scope','$rootScope','sharedproperties',function($scope,$rootScope,sharedproperties)
{
$rootScope.$on("CallSubcategoryBusinesses", function(event,data){
//$scope.search_subCategory_businesses();
//$scope.businesses=data;
console.log("the data from categories is is",data)
// alert($scope.search_subCategory_businesses());
});
}])
.factory('sharedproperties',function()
{
var property = '';
return {
getProperty: function () {
return property;
},
setProperty: function(value) {
property = value;
}
};
})
您可以查看以下fiddle
http://jsfiddle.net/HEdJF/1605/
myApp.factory('Data', function(){
return { FirstName: '' };
});
myApp.controller('FirstCtrl', function( $scope, Data ){
var mydata="Factory";
Data.FirstName=mydata;
$scope.Data = Data;
});
myApp.controller('SecondCtrl', function( $scope, Data ){
$scope.Data = Data;
});
数据共享可以通过使用工厂或服务来完成。。。
如果您想在控制器之间共享数据,您需要将这些数据保存在服务中,以便两个控制器都可以访问这些数据。另一种方法是使用角度信号框架——例如,在给定事件的第二个控制器中,它读取事件中传递的数据。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 移动和桌面视图的角度控制器继承
- 使用javascript将控制器方法移动到客户端
- 如何将这些 ng-init 移动到控制器中
- 如何将控制器配置移动到其自己的文件中
- AngularJS将控制器的一部分移动到服务
- 如何将控制器源代码从app.js移动到angular项目中所需的文件夹位置
- 使用draggable+ dropable指令将项目从子控制器移动到父控制器
- 将对象从控制器1移动到控制器2
- 钛移动控制器故障
- 在DOM中移动控制器时保留元素/作用域状态
- 将表达式从模板移动到控制器
- 我是否应该将函数从控制器移动到服务,但是为了单元测试,必须使用rootScope而不是scope ?
- 无法在angular js中将数据从一个控制器移动到另一个控制器
- 无法将数据从一个控制器移动和跟踪到另一个angularjs
- 动态构建JSON变量从HTML5移动发送到Ruby on Rails控制器