我有一个控制器,MapController和一个工厂,controlService。 controlService具有布尔值的对象,这些布尔值由不同的控制器修改。目前,每当更改控件的布尔选中值时,MapController都会使用$ watch在控件上运行一个函数,如下所示:
$scope.$watch((function() {
return controlService.getDrawControl().checked;
}), function(newVal, oldVal) {
if (typeof newVal !== 'undefined') {
vm.draw(newVal);
}
});
如何按照类似问题的答案中的建议实现同样的行为:Update scope value when service data is changed
我对值如何保持更新感到困惑,最重要的是,每次基于该值加载与MapController关联的视图时如何运行函数。