如何更新已安装的Vue实例的属性?

时间:2017-10-29 12:29:51

标签: vue.js vuex mapbox-gl-js

我想将手动挂载的Vue实例的属性绑定到多个DOM元素(在本例中为mapbox标记):

  const makerContent = Vue.extend(Marker)

  features.forEach(function(feature, index) {
    var parent = document.createElement('div')
        parent.classList.add("mapboxgl-marker")
    var child = document.createElement('div')
        child.classList.add("marker")
    parent.appendChild(child)
     const marker = new mapboxgl.Marker(parent)
     .setLngLat(feature.geometry.coordinates)
     .addTo(self.map)

    new makerContent({
      store: store,
      propsData: {
        feature: feature, 
      }
    }).$mount(child); 
  })

对商店的更改(例如:feature.geometry.coordinates)在没有重新加载的情况下不会触发标记组件的更改。

如何将features属性绑定到每个标记,以便标记对数据更改做出反应?可能不正确使用propsData。也许是共享的Vuex商店模块?我想我需要跟踪ES6地图状态的变化,Vue does not currently support

查看我的Mappy.vue component on GitHub

0 个答案:

没有答案