【发布时间】:2015-04-21 22:47:42
【问题描述】:
我正在尝试将$watch 置于角度值上,以根据控制器的指令以不同方式设置控件,并且我尝试使用leafletScope.$watch("variable") 跟随angular-leaflet-directive 中的领先地位。
我添加了一个新的$watch,因为它是一个对象:
leafletScope.$watch("controls", function(controlOpts) {...}, true)
然后我在控制器中使用:
angular.extend($scope, {
controls: {}
}
这是为了初始化控件,因为这似乎是必需的。
然后我稍后在事件中调用它:
$scope.controls = { new object }
如果我在控件中记录更改,然后在 $watch 事件中记录,我会得到以下序列:
- 控制
$watch事件记录 -
$scope.control记录更改事件 - 没有更多日志
$scope 更改后未调用手表这一事实表明我做错了。
谁能告诉我在哪里,或者如果我在我的简单测试中得出了错误的结论。
如果我做同样的事情并改变我的“中心”模型,我会得到:
- center
$watch事件记录 -
$scope.center记录更改事件 - center
$watch使用新值记录的事件
【问题讨论】:
标签: angularjs leaflet angular-leaflet-directive