我的变量名称有一个奇怪的错误:
当我尝试调用函数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?
答案 0 :(得分:1)
方法removeLayer
需要L.Layer
的实例,而不是该实例的name
属性。尝试:map.removeLayer($scope.pimp.init.carte.layers[key]);
您现在正在做的是使用字符串作为参数。那不会奏效。您需要使用实际的实例。