0

我目前使用来获取地图上的自定义标记。

我让它在plunker上正常工作,但在我自己的网站上却没有(即使我使用的是相同的脚本 src 链接)

在我自己的页面上 ng-repeat 有效,但它给出了 2 个非常长的错误,通知我 $digest 循环 错误

这是我的清单:

$scope.list = [{ name: 'test', pos: [41, -87] }, { name: 'test2', pos: [40, -86] }];

这是HTML:

<ng-map zoom-to-include-markers="auto" style="height:200px;width:400px;">
    <marker ng-repeat="item in list" position="{{item.pos}}"></marker>
</ng-map>

以上没有给出错误,但是

<ng-map zoom-to-include-markers="auto" style="height:200px;width:400px;">
    <custom-marker ng-repeat="item in list" position="{{item.pos}}">
        <div style="background-color:white;border: 1px solid black;">this is a test</div>
    </custom-marker>
</ng-map>

做。每次我向列表中添加一个项目时,它也会给我 2 个额外的错误,但它仍然可以正常工作。

我不知道为什么它可以在 plunker 上运行,但不能在我自己的站点上运行,我使用 ASP.NET 5 提供它,使用相同的版本。在我自己的网站上还使用 ng-animate、ng-resource 和一堆与角度无关的东西,但这不重要。(我希望)

如果您需要它,我的控制器正在使用这些:

function ($scope, $rootScope, restData, NgMap) {

和 app 模块正在使用这个:

var app = angular.module('app', ['ngResource', 'ngMap'])
4

1 回答 1

0

自己修好了。

在我问这个问题之前,我尝试使用来解决我的问题,但我可能忘记了其中的一部分,因为它在我第二次尝试时有效。

你需要使用

$scope.positions = angular.copy(data) 

并绑定那个单独的“位置”变量并复制它,如果你想重新绑定,你不能直接从数据本身的前端绑定。

于 2016-03-07T14:56:39.227 回答