从另一个组件VueJS版本1

时间:2017-01-12 08:50:42

标签: javascript vue.js

我想从另一个组件中调用该方法,让我们说父组件......所以,让我们说我有notie.vue,我的方法名为'闪光'当我获得成功时,我想在API请求之后调用它。

所以,让我们说是这样的:在获取API之后我想用参数调用这样的东西---> notie.success('通知类型','通知消息')

以下是代码:

道具的定义如下

props: {
    type: {
        default: 'info',
        required: false
    },
    content: {
        default: 'This is just demo text',
        required: false
    },
    visible: {
        type: Boolean,
        default: false
    }
}

此处的数据

data: function () {
    return {
        show: true
    }
}

此方法

methods: {
    flash: function () {
        this.show = true;
    }
}

此处的HTML代码

<div class="notie" v-bind:class="[{active: show}, type]" v-on:click="close()"> 
    <div class="notie__icon" :class="type"></div>
    <div class="notie__content" v-text="content"></div>
</div>

例如,我想调用我的notie组件

submit: function () {
    this.$http.post('/api/books/add', {
        data: this.data,
    }).then(function (response) {
        // I want to use notie component right here to notice to users.
    }, function (response) {
    });
}

所以我的问题是如何在成功或错误的API请求后调用flash()?

1 个答案:

答案 0 :(得分:0)

如果您想呼叫“父母”,请使用此this.$parent 如果你想调用孩子的方法,请使用这个this.$children[0].someMethod()

这是一个数组this.$children