vue.js - Vue中的组件可以自我销毁嘛

查看:535
本文介绍了vue.js - Vue中的组件可以自我销毁嘛的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我写了个Vue组件,然后想在这个组件的模板内写一个删除的方法,让这个组件的实例删除自身,是否可行,用什么方法或者api?

部分html:

<ul>
   <menu-item v-for="item in data" v-bind:model="item"></menu-item>
 </ul>

组件模板部分代码:

<script type="text/x-template" id="item-template">
    <li v-if="!delState">
        //others
        <span v-on:click="delItem">【X】</span>
    </li>
</script>

组件部分代码:

Vue.component('menu-item', {
        template: '#item-template',
        props: {
            model: [Object, Array],
        },
        methods: {
            delItem: function () {
            //这里该如何实现,才能达到删除的目的?
             }
          }
      });

界面大体如下:

解决方案

不能自己删除自己。只有自己distroy时的生命周期函数。
可以这样:
创建一个menu-list的父组件。
menu-list中存储每一个menu-item的数据(Array)。然后需要删除某个menu-item, 删除那个数据就好, Vue会自动删除对应的实例。

这篇关于vue.js - Vue中的组件可以自我销毁嘛的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆