手把手教你VUE從入門到放棄—— 篇五(組件傳值)

不多說,直接上代碼

下面的知識點包含

1.emit("事件名") 主動觸發一個事件

2.@delete 等價於 v-on:click

3.v-bind: 等價於 :

4.v-bind 綁定屬性

5.v-for="(item,index) in list 獲取列表中的每個值及其下標(從0開始)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>簡單的組件傳值</title>
      <script src="vue.js"></script>
</head>
<body>
    <div id = 'app2'>
        <input type='text' v-model='inputVal'/>
        <button @click='addToList'>提交</button>
        <ul >
            <com v-bind:con1="item" v-bind:index="index" v-for="(item,index) in list" 
            @delete="deleteOne" ></com>
        </ul>
    </div>
    <script>
        var com = {
            props:['con1','index'],
            template:'<li @click="itemClick">{{con1}}</li>',
            methods:{
                itemClick:function(){
                    this.$emit("delete",this.index);
                }
            }
        };
        var app = new Vue({
            el:'#app2',
            data:{
                list:[],
                inputVal : ''
             },
             components:{
                 com:com
             },
             methods:{
                 addToList:function(){
                     this.$data.list.push(this.inputVal);
                     this.inputVal = '';
                 },
                 deleteOne:function(index){
                     alert(index);
                     this.list.splice(index,1);
                 }
             }
        });
    </script>
</body>


</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章