gpt4 book ai didi

javascript - 将 ng-click 添加到传单弹出 onEachFeature 函数

转载 作者:行者123 更新时间:2023-11-30 09:55:32 25 4
gpt4 key购买 nike

我已经创建了 map 并将其与我的 geojson api 连接。基本上我希望将每个标记弹出窗口与 ng-click 链接起来。像这样放置简单的 html 是行不通的,因为我必须编译它:

layer.bindPopup("<button ng-click='()'>+feature.properties.title+</button>");

这就是我想要做的。这是那段代码。我收到“错误:[ng:areq] 需要参数‘范围’"

$http.get("http://markers.json").success(function(data, status) {
angular.extend($scope, {
geojson: {
data: data,
onEachFeature: function(feature, layer, scope) {
var template = "<button class='button button-clear button-royal' ng-click='aa()')>" +feature.properties.title +"</button>";
var linkFn = $compile(template);
var content = linkFn(scope);
layer.bindPopup(content);
},
}
});
});

我对 angular 和 js 很陌生,所以我想我在这里遗漏了一些明显和愚蠢的东西。谢谢!

最佳答案

您不需要将 scope 作为参数添加到您的 onEachFeature 方法。该范围已在变量 $scope 中可用:

$http.get("http://markers.json").success(function(data, status) {
angular.extend($scope, {
geojson: {
data: data,
onEachFeature: function(feature, layer) {
var template = "<button class='button button-clear button-small button-royal' ng-click='aa()'>" +feature.properties.title +"</button>";
var linkFn = $compile(template);
var content = linkFn($scope);
layer.bindPopup(content[0]);
}
}
});
});

示例:http://plnkr.co/edit/5cMWuhQeJLg5zkX9hVYK?p=preview

关于javascript - 将 ng-click 添加到传单弹出 onEachFeature 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34217111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com