2015-05-12 3 views
0

Я отчаянно пытаюсь динамически добавлять кнопки в всплывающие окна листовок. Js и назначать обратный вызов. Однако, похоже, я не могу обернуть вокруг себя голову.Leaflet.js добавить кнопку для всплывающего окна маркера

Я использую этот пример https://github.com/calendee/ionic-leafletjs-map-demo и добавьте следующую строку в строке 105 в js/controller/mapController.js

<button class="icon-left ion-information" ng-click="stationInfoButtonClick('+location.name+')"></button> 

Однако щелчок/записи на пленку кнопки не вызывает указанную функцию обратного вызова. Идеи кто-то?

ответ

1

Вы пытаетесь добавить HTML код AngularJS. Это невозможно, просто так. Для этого вам нужно использовать $ compileProvider.

В предыдущей версии брошюры мне удалось это сделать, вызвав $ compileProvider на popUp open.

$scope.$on('leafletDirectiveMap.popupopen', function(event, args) { 


    var feature = args.leafletEvent.popup.options.feature; 

    var newScope = scope.$new(); 
    newScope.stream = feature; 

    $compile(args.leafletEvent.popup._contentNode)(newScope); 


}); 

Никогда не делал это на ионной основе, но меня интересует ваше возвращение.

+0

Спасибо, компилятор $ compileProvider для меня новичок, но я считаю, что он будет похож на ваше решение, так как Ionic основан на AngularJS. –

+1

Можете ли вы поделитесь своими отзывами позже? Я заинтересован в вашем возвращении;) – aorfevre

+0

Я только что нашел это: http://stackoverflow.com/questions/17662551/how-to-use-angular-directives-ng-click-and-ng-class-inside-leaflet -marker-popup? rq = 1 –

Смежные вопросы