Эмбер это не определено в компоненте компонента - PullRequest
0 голосов
/ 26 сентября 2018

Я работаю с Ember 2.18.

У меня есть компонент с именем map, и в этом компоненте я использую аддон ember-cli-g-maps.Для этого компонента я передаю массив окружностей.

Вот шаблон:

        {{g-maps
        name='geo-push-map'
        lat=location.lat
        lng=location.lon
        zoom=mapConfig.zoom
        mapType=mapConfig.mapTypeId
        disableDefaultUI=mapConfig.disableDefaultUI
        showZoomControl=mapConfig.zoomControl
        showScaleControl=mapConfig.scaleControl
        circles=circles
        }}

И вот так выглядит мой круг:

circles: A([
  {
    id: 'my-circle',
    lat: 45,
    lng: 15,
    radius: 2000,
    click(event, circle) {},
    rightclick(event, circle) {},
    dblclick(event, circle) {},
    mouseover(event, circle) {},
    mouseout(event, circle) {},
    mouseup(event, circle) {},
    mousedown(event, circle) {},
    mousemove(event, circle) {},
    drag(e, circle) {},
    dragstart(e, circle) {},
    dragend(e, circle) {},
    radius_changed(circle) {},
    center_changed(circle) {},
    clickable: true,
    draggable: true,
    editable: true,
    fillColor: '#009dd4',
    fillOpacity: 0.3,
    strokeColor: '#005d7d',
    strokeOpacity: 0.3,
    strokePosition: google.maps.StrokePosition.CENTER,
    strokeWeight: 3,
    visible: true,
    zIndex: 999,
  },
]),

Я хочу сейчасчтобы иметь возможность изменять свойство внутри моего компонента карты, когда вызывается событие круга.Я попробовал это так:

...
radius_changed(circle) {
 set(this, 'myRadius', circle.radius);
},
...

Но проблема в том, что он говорит мне, что this не определено.Я подозреваю, что это потому, что он не существует в рамках круга.Есть ли другой способ сделать это?Конечно, я прочитал документацию к аддону, а также вопросы, но не смог найти способ сделать это.

1 Ответ

0 голосов
/ 01 октября 2018

Я решил проблему с помощью другого аддона, который поддерживает передачу действий в события круга, ember-google-maps .

...