<div>
<button @click="$refs.cart.open()">open</button>
<drawer></drawer>
</div>ref=cart在<drawer>里面,我可以从那个按钮打电话吗?多么?
-编辑--

-编辑解决与vuex
根模板
toggle() {
this.$store.dispatch('toggle', {
toggle: 'close'
}).then(() => {
this.$store.dispatch('toggle', {
toggle: 'open'
})
})
}内抽屉
computed: {
toggle() {
return this.$store.state.toggle
}
},
watch: {
toggle(val) {
if (val == 'open') this.$refs.cart.open()
}
}发布于 2017-01-05 17:05:31
一个简单的解决方案(不是最好的)就是使用Vue事件总线在这里的组件之间进行通信。类星体有一个全局事件总线(http://quasar-framework.org/api/js-events.html)。
最好的解决方案将是使用Vuex,但当然,如果您需要它只是为了这个。
Vue引用很棘手,而且并不总是可以使用。这一解释很长,与Vue的渲染方式有关。
https://stackoverflow.com/questions/41455758
复制相似问题