在 ngMap 中的 ngRepeat 中简单不起作用
Simple in ngRepeat in ngMap not working
我以为我以前做过这种事情,但我一直在尝试做一些简单的事情。这是我的 HTML 使用 ngMap
<html ng-app="myApp" ng-controller="mapCtrl as map">
....
<map center="52.374, 4.899" zoom="12">
<marker ng-repeat="m in map.data" title="{{m.name}}" position="{{m.lat}},{{m.lng}}"></marker>
</map>
然后我有一个控制器:
angular.module("myApp")
.controller('mapCtrl', function() {
var vm = this;
vm.data = [
{"name": "A1", "lat":52.38, "lng":4.9},
{"name": "A2", "lat":52.39, "lng":4.87}
];
return vm;
});
我最终在 0,0 处得到了 6 个标记,而不是阿姆斯特丹的 2 个 - 参见 Plnkr。有什么想法吗?
在这种情况下会发生名称冲突。 map 指令在已定义的控制器对象的范围内创建映射对象。所以只需将 mapCtrl as map
重命名为其他名称即可。例如 mapCtrl as mapCtrl
.
我以为我以前做过这种事情,但我一直在尝试做一些简单的事情。这是我的 HTML 使用 ngMap
<html ng-app="myApp" ng-controller="mapCtrl as map">
....
<map center="52.374, 4.899" zoom="12">
<marker ng-repeat="m in map.data" title="{{m.name}}" position="{{m.lat}},{{m.lng}}"></marker>
</map>
然后我有一个控制器:
angular.module("myApp")
.controller('mapCtrl', function() {
var vm = this;
vm.data = [
{"name": "A1", "lat":52.38, "lng":4.9},
{"name": "A2", "lat":52.39, "lng":4.87}
];
return vm;
});
我最终在 0,0 处得到了 6 个标记,而不是阿姆斯特丹的 2 个 - 参见 Plnkr。有什么想法吗?
在这种情况下会发生名称冲突。 map 指令在已定义的控制器对象的范围内创建映射对象。所以只需将 mapCtrl as map
重命名为其他名称即可。例如 mapCtrl as mapCtrl
.