棱角分明指示角度表

时间:2015-04-21 22:47:42

标签: angularjs leaflet angular-leaflet-directive

我正在尝试将$watch置于角度值以设置控件,具体取决于来自控制器的指令,我尝试使用leafletScope.$watch("variable")跟踪angular-leaflet-directive中的线索。< / p>

我添加了一个具有相等比较的新$watch,因为它是一个对象:

leafletScope.$watch("controls", function(controlOpts) {...}, true)

然后我使用以下方法在控制器中调用它:

angular.extend($scope, {
    controls: {}
}

这是为了初始化控件,因为这似乎是必需的。

我稍后会在事件中使用:

调用它
$scope.controls = { new object }

如果我在控件中记录更改,然后在$ watch事件中记录,我会得到以下序列:

  • 控制$watch已记录的事件
  • $scope.control更改了记录的事件
  • 没有进一步记录

$scope更改后手表未被调用的事实表明我做错了。

任何人都可以告诉我在哪里,或者我在简单的测试中得出了错误的结论。

如果我这样做并改变我的&#34;中心&#34;模特,我明白了:

  • 中心$watch已记录事件
  • $scope.center更改了记录的事件
  • 以新值记录的$watch中心事件

1 个答案:

答案 0 :(得分:1)

这结果是angular-leaflet-directive与我使用的html-minifier之间的html minifier之间的冲突。传单控件的angular-leaflet-directive表示法是controls所以在我的html文件中我有

<leaflet center="centre" controls="controls" layers="layers" width="1200px" height="800px"></leaflet>

html-minifier将controls =“controls”作为布尔属性,并将collapse boolean attributes标志缩小为

<leaflet center="centre" controls layers="layers" width="1200px" height="800px"></leaflet>

哪个不好。我会要求这个更好地记录在angular-leaflet-directive中,或者它们将控件的名称更改为传单控件或某些东西以避免这种情况发生在像我这样的毫无疑问的人中。

事实上,手表上的真正旗帜被证明是太耗费资源而且我将其删除了它仍然有效..