名称或变量值的错误

时间:2015-02-08 22:07:57

标签: javascript angularjs leaflet

我的变量名称有一个奇怪的错误:

  • 当我尝试调用函数map.removeLayer($scope.pimp.init.carte.layers[key].name);时,它不起作用(没有错误,但是没有执行操作)

  • 当我手动放置map.removeLayer(markersLayer_2);时,markersLayer_2是$ scope.pimp.init.carte.layers [key] .name的值,并执行操作

我不知道为什么会出现这种差异,因为有了alert();或console.log(); ,$scope.pimp.init.carte.layers[key].name返回正常值(markersLayer_2)。

为什么我不能在这个传单函数中使用$ scope of angularjs?

1 个答案:

答案 0 :(得分:1)

方法removeLayer需要L.Layer的实例,而不是该实例的name属性。尝试:map.removeLayer($scope.pimp.init.carte.layers[key]);您现在正在做的是使用字符串作为参数。那不会奏效。您需要使用实际的实例。

参考:http://leafletjs.com/reference.html#map-removelayer