Angular 无法将数据传递给自定义指令
Angular cannot pass data to custom directive
我的指令
angular
.module('directoryAppMap')
.directive('leafletDirective', function () {
return {
restrict: 'EA',
scope: {
data:'=' //I try to pass data by this scope//
},
replace:true,
template:'<div></div>',
link: function (scope,element, attrs) {
var map = L.map(attrs.id, {
center: [40, -86],
zoom: 2
});
//create a CloudMade tile layer and add it to the map
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
maxZoom: 18
}).addTo(map);
scope.ho = ["geometry": { "type": "Point", "coordinates": [ 2.0, 2.0 ] } },
{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 1.0, 1.0 ] } },
];
L.geoJson(scope.ho).addTo(map);
}
};
});
但是当我尝试从我的视图传递数据时
<tr ng-repeat="hf in (FilteredGeojson = (ho))">
<div leaflet-directive id="map" data="FilteredGeojson"></div>
作用域相同,不同之处在于我在控制器中初始化它而不是在指令中,然后当我将 FilteredGeojson 传递给传单时它显示无效的 geojson 对象。
为了传递一些数据,我什至扔掉了所有过滤器,也许我在指令和全局范围上做错了什么?
我的 geojson 是有效的,我检查了很多次,我应该以其他方式将数据传递给传单吗?对我来说重要的是地图和 table 是动态集成的。
我删除了 L
方法并注意到它由于部分代码而无法正常工作
<tr ng-repeat="hf in FilteredGeojson = (ho)">
<div leaflet-directive id="map" data="FilteredGeojson"></div>
我的指令
angular
.module('directoryAppMap')
.directive('leafletDirective', function () {
return {
restrict: 'EA',
scope: {
data:'=' //I try to pass data by this scope//
},
replace:true,
template:'<div></div>',
link: function (scope,element, attrs) {
var map = L.map(attrs.id, {
center: [40, -86],
zoom: 2
});
//create a CloudMade tile layer and add it to the map
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
maxZoom: 18
}).addTo(map);
scope.ho = ["geometry": { "type": "Point", "coordinates": [ 2.0, 2.0 ] } },
{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 1.0, 1.0 ] } },
];
L.geoJson(scope.ho).addTo(map);
}
};
});
但是当我尝试从我的视图传递数据时
<tr ng-repeat="hf in (FilteredGeojson = (ho))">
<div leaflet-directive id="map" data="FilteredGeojson"></div>
作用域相同,不同之处在于我在控制器中初始化它而不是在指令中,然后当我将 FilteredGeojson 传递给传单时它显示无效的 geojson 对象。
为了传递一些数据,我什至扔掉了所有过滤器,也许我在指令和全局范围上做错了什么?
我的 geojson 是有效的,我检查了很多次,我应该以其他方式将数据传递给传单吗?对我来说重要的是地图和 table 是动态集成的。
我删除了 L
方法并注意到它由于部分代码而无法正常工作
<tr ng-repeat="hf in FilteredGeojson = (ho)">
<div leaflet-directive id="map" data="FilteredGeojson"></div>