Javascript 余烬传单:如何刷新组件数据?

Javascript 余烬传单:如何刷新组件数据?,javascript,ember.js,leaflet,Javascript,Ember.js,Leaflet,我正在使用在我的余烬应用程序中显示传单地图。在我的例子中,地图用于显示约会位置。用户从列表中选择约会,然后显示相应的约会详细信息(包括地图) 选择约会后,详细信息将传递给包含地图的组件。不幸的是,在用户选择了一个约会,然后又选择了另一个之后,地图上的坐标不会改变。然而,使用手柄输出坐标时,我实际上可以看到传递的是不同的坐标。这让我相信地图需要以某种方式“刷新”,以便在地图上显示新的坐标 我使用这样的组件:{{ember-palicate-geoJSON=geoJSON}其中geoJSON是一个包

我正在使用在我的余烬应用程序中显示传单地图。在我的例子中,地图用于显示约会位置。用户从列表中选择约会,然后显示相应的约会详细信息(包括地图)

选择约会后,详细信息将传递给包含地图的组件。不幸的是,在用户选择了一个约会,然后又选择了另一个之后,地图上的坐标不会改变。然而,使用手柄输出坐标时,我实际上可以看到传递的是不同的坐标。这让我相信地图需要以某种方式“刷新”,以便在地图上显示新的坐标

我使用这样的组件:
{{ember-palicate-geoJSON=geoJSON}
其中
geoJSON
是一个包含位置数据的字符串

我的组成部分如下:

// components/leaflet-map.js

import Ember from 'ember';
import ENV from '../config/environment';

import EmberLeafletComponent from 'ember-leaflet/components/leaflet-map';
import MarkerCollectionLayer from 'ember-leaflet/layers/marker-collection';
import TileLayer from 'ember-leaflet/layers/tile';

L.Icon.Default.imagePath = '/images/leaflet';

export default EmberLeafletComponent.extend({

  center: Ember.computed(function() {
    return this.get('coordinates');
  }),

  /////////////////////////////////////
  // PROPERTIES
  /////////////////////////////////////

  geoJSON: null,

  /////////////////////////////////////
  // COMPUTED PROPERTIES
  /////////////////////////////////////

  childLayers: Ember.computed('coordinates', function() {

    return [
      TileLayer.extend({
        tileUrl: 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}',
        options: {
          id: 'XXXXXXX',
          accessToken: ENV.APP.MAPBOX_KEY
        }
      }),
      MarkerCollectionLayer.extend({
        content: [{ location: this.get('coordinates') }]
      })
    ];
  }),

  coordinates: Ember.computed('geoJSON', function() {

    if (this.get('geoJSON')) {

      const coordinates = JSON.parse(this.get('geoJSON')).coordinates;

      if (coordinates) {
        return L.latLng(coordinates[1], coordinates[0]);
      }
    }

    return null;
  }),
});
设置断点时,无论用户选择了哪个约会,
childLayers
coordinates
似乎只调用一次。我曾考虑设置一个观察者来观察
geoJSON
属性,但这似乎有些过分

任何帮助都将不胜感激