我在使用一个没什么人维护的库
https://github.com/sombriks/v...
作者把包装成了component
module.exports = {
openlayers,
install (Vue, options) {
Vue.component('ol-map', olMap)
Vue.component('ol-marker', olMarker)
}
}
给出的使用例子是
<template>
<p id="map">
<ol-map>
<ol-marker/>
<ol-marker/>
<ol-marker/>
</ol-map>
</p>
</template>
请问,在这些component里都有一些method...我该如何invoke这些method呢?
比如olMap里有一个updateCenter的功能就很有用,但是我不知道怎么使用这种component里的method...
再比如下面有多个ol-marker,怎么能在vue里表明我要用的是第几个marker里面的method呢?
使用
ref
为子组件指定一个索引 ID// 访问子组件
var child = parent.$refs.profile
见http://cn.vuejs.org/v2/guide/...子组件索引
既然这三个组件都是一样的,为啥不这么写呢,如下:
然后你再通过类名,list1,list2,list3找到不同的组件,或者给每个组件定义一个ref="something",通过this.$refs.something来找。个人的建议是:key是最好要写的,因为这样每个<ol-marker/>组件都是独一无二的,不然以后会比较麻烦,改了一个组件的东西其他的都会跟着变化,就互相伤害了,那就不好了是吧~