VueJS从实例访问组件

时间:2017-01-04 11:53:23

标签: vue.js vue-component vuejs2

我正在寻找一种从我的实例

访问我的组件方法的方法
<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/

1 个答案:

答案 0 :(得分:1)

你可以在这里找到固定的小提琴:https://jsfiddle.net/gr9c6h64/

基本上,当你想要从主Vue实例向组件传递数据时,你必须像我在小提琴中那样使用这个组件中的道具:props: ['loaded'] and then pass value from parent using:loaded ='isLoaded'`

我认为这不是你想要做的,但它看起来就是你遇到的问题。希望它有所帮助!