3
ember-leaflet
라이브러리에 대한 질문과 올바른 팝업 사용에 대한 질문이 있습니다.리플렛 팝업의 렌더링보기 또는 핸들 막대 템플릿
ember-leaflet
website의 다음 예제는 라이브러리를 사용하여 마커 및 링크 된 팝업을 추가합니다. 또한 컨텐츠 바인딩을 통해 팝업에 대한 컨텐츠를 추가하는 방법을 보여줍니다.
RadMarkersApp = Ember.Application.create();
RadMarkersApp.MarkerLayer =
EmberLeaflet.MarkerLayer.extend(
EmberLeaflet.DraggableMixin,
EmberLeaflet.PopupMixin, {
popupContentBinding: 'content.title'
});
RadMarkersApp.MarkerCollectionLayer =
EmberLeaflet.MarkerCollectionLayer.extend({
content: [{
location: L.latLng(40.7127, -74.0060),
title: 'City Hall'}],
itemLayerClass: RadMarkersApp.MarkerLayer
});
RadMarkersApp.IndexView =
EmberLeaflet.MapView.extend({
childLayers: [
EmberLeaflet.DefaultTileLayer,
RadMarkersApp.MarkerCollectionLayer]});
지금은 여기에 popupContent
속성에 대한보기 또는 핸들 바 템플릿을 사용할 수 있도록하고 싶습니다. 누군가이 아이디어를 구현하는 방법을 알고 있습니까? 이 시나리오에 대한 모범 사례가 있습니까?
내 첫 번째 방법 :
App.MarkerLayer =
EmberLeaflet.MarkerLayer.extend(
EmberLeaflet.PopupMixin, {
popupContent: function() {
// Render view (how to get?) or handlebars template
return Ember.TEMPLATES['popup-content'](this.get('content'))
}.property()
});
이 다음과 같은 오류에 이르게 :
Uncaught TypeError: Cannot call method 'push' of undefined
희망 누군가가 도움이 될 수 있습니다. 고마워요!
나에게 조금 "해커"가 보입니다. 그것은 엠버의 내부 상태를 망쳐 놓는 것처럼 보입니다 (나는 엠버의 신참으로 잘못 될 수 있습니다). 어느 경우이든이 일을하는 데 더 깔끔하고 나은 방법을 찾았습니까? – elsurudo
다음과 같은 오류가 발생했습니다. "잡히지 않은 TypeError : Object [object Object]에 'createChildView'메서드가 없습니다." 팁? – elsurudo
함수에서 첫 번째 행을 "view = this.view = this._parentLayer.createChildLayer (App.MapPopupView)"로 바꾸면이 문제가 해결되었습니다. 어쩌면 Ember 버전으로 인해 ... "defaultContainer 사용은 더 이상 지원되지 않습니다. [defaultContainer # lookup] 참조 : http://git.io/EKPpnA"라는 사용 중단 경고가 나타납니다. 그게 무슨 뜻인지 아직 모르겠지만 그것을 조사해야합니다. – elsurudo