angularJS:控制器之间的控制器
共享数据之间的共享过滤后的数据是一个主题在这里讨论了很多,我通过创建一个factory
保存功能调用我们的API,当然还有我们的返回数据解决它。angularJS:控制器之间的控制器
angular.factory('polygonService', ['$resource', polygonService]);
function polygonService($resource) {
var service = {
data: [],
api: $resource(
'url',
{
cityID: '@id'
},
{
get: {
method: 'JSONP',
params: {
callback: 'JSON_CALLBACK'
}
}
}
)
}
return service;
}
现在,该服务中的data
显示在地图上和列表中。这些是两个单独的指令&控制器。
列表指令允许用户通过各种属性过滤数据,但过滤后的数据仅是该列表指令的$范围内使用。
我怎样才能使过滤后的数据提供给映象控制器的$范围?
我必须让服务内filteredData
财产和$留意是否从地图控制器吗?
您将需要通过服务暴露了过滤的结果,但你并不需要注意这一点。
从您的视图控制器设置一个范围变量为您服务
$scope.polygonService = polygonService;
然后,您可以从您的控制器访问$ scope.polygonService.filteredData,或polygonService.filteredData和双向绑定将工作如预期。
<li ng-repeat="data in polygonService.filteredData">
{{ data }}
</li>
谢谢!但我需要'$ watch'来更新我的第二个指令$ map变量,即地图。不幸的是,当服务数据发生变化时,它不会更新。但是,是的,但我想。 – ProblemsOfSumit
你可以提供一个运动员吗? – Alex
“你需要在半年后通过服务” “公开过滤结果,我知道你的意思。 非常多'返回数据'或者其中的一个变种。并过滤服务中的数据 - 然后返回数据 - 可能通过'getData'方法。 – ProblemsOfSumit
参加这个帖子一看我的回答: http://stackoverflow.com/questions/30975516/passing-updating-data-in-a-factory-from-one-controller-to-另外/ 30975802#30975802 – mggSoft