美文网首页Vue.js专区
(一) Vue组件之间的通信(入门)

(一) Vue组件之间的通信(入门)

作者: 人生苦短啊 | 来源:发表于2018-06-30 11:09 被阅读15次
    实现一个TodoList的功能

    输入文字点击提交会在下面显示,单击下面任意一个数据会删掉对应的数据


    可以拿来直接用

    <body>
        <div id="app">
            <m-item></m-item>
            <div>
                <input type="text" v-model="todoValue">
                <button @click="handleBtnClick">提交</button>
            </div>
            <ul>
                <todo-item v-bind:content="item"
                           v-bind:index="index"
                           v-for="(item, index) in list"
                           @delete="handleItemDelete">
    
                </todo-item>
            </ul>
        </div>
    
      </body>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
      <script type="text/javascript">
        //全局组件
        Vue.component('m-item', {
            template: '<div>全局组件</div>'
        })
        // 子组件
        var TodoItem = {
            props: ['content', 'index'],
            template: "<li @click='handleDelete'> {{content}} </li>",
            methods:{
                handleDelete:function(){
                    this.$emit("delete", this.index)     //子组件绑定事件,父组件响应
                }
            }
        }
    
        // 父组件
        var app = new Vue({
          el: '#app',
          components:{
            TodoItem: TodoItem         //绑定子组件
          },
          data: {
            list: [],
            todoValue: ""
          },
          methods:{
            handleBtnClick: function(){
                this.list.push(this.todoValue)      //放入数组
                this.todoValue = ""
            },
            handleItemDelete: function(index){
                this.list.splice(index, 1)          //删除对应indexx
            }
          }
        })
      </script>
    
    标签解释:

    @click : 可以绑定点击事件
    v-bind : 绑定数据,用于和js交互
    v-for : for循环语句 item 是每次循环的对象, index是循环的索引
    props : 用于接收父组件传来的内容
    v-model : 实现表单输入和应用状态之间的双向绑定

    相关文章

      网友评论

        本文标题:(一) Vue组件之间的通信(入门)

        本文链接:https://www.haomeiwen.com/subject/odttuftx.html