我正在寻找一种从我的实例
访问我的组件方法的方法<button id="live" class="ui primary button" v-on:click.prevent="live">
Live Text
</button>
直接位于我的#app
内,并让我从我的组件live
内部启动Live.vue
方法我在ver 2.x之前发现了大量文档{ {1}}和broadcast
,但是在尝试使用dispatch
工作一小时之后,我不知道我在做什么了。
$emit
和<template>
<div v-if="loaded">
Live
</div>
</template>
<script>
export default {
data: function () {
return {
loading: false,
loaded: false,
}
},
methods: {
load: function (event) {
console.log('loading..')
this.loaded = !this.loaded
}
},
mounted: function () {
// this.$on('liveClick', function (msg) {
// console.log(msg)
// })
},
name: 'Live',
props: {
'id': Number,
'key': String
}
}
</script>
(这是一个基于laravel的结构)
init.js
我已经使用Vuex做了一个'解决方法',但我不需要让我的学习曲线变得复杂,只是为了让它工作。
jsfiddle:https://jsfiddle.net/c4s44qgy/1/
答案 0 :(得分:1)
你可以在这里找到固定的小提琴:https://jsfiddle.net/gr9c6h64/
基本上,当你想要从主Vue实例向组件传递数据时,你必须像我在小提琴中那样使用这个组件中的道具:props: ['loaded'] and then pass value from parent using
:loaded ='isLoaded'`
我认为这不是你想要做的,但它看起来就是你遇到的问题。希望它有所帮助!