vue 组件之间传值 父传子 子传父 todolist

vue 组件之间传值 父传子 子传父 todolist

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
#app {
    width: 800px;
    margin: 0 auto;
}
</style>

<body>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
    <div id="app">
        <input type="text" v-model="newItem">
        <button @click="addWork">添加待办</button>
        <ul>
            <!-- <li :content='item' :index v-for="(item,index) in arr">{{item}}</li> -->
            <todo-item :content='item' :index="index" @delete='handleItemDelete(index)' v-for='(item,index) in arr'></todo-item>
        </ul>
    </div>
</body>
<script>
var TodoItem = {
    props: ['content', 'index'],
    template: "<li @click='handleItemClick(index)'>{{content}}</li>",
    methods: {
        handleItemClick: function() {
            this.$emit('delete', this.index)
        }
    }
};


var vm = new Vue({
    el: "#app",
    data: {
        newItem: '',
        arr: []
    },
    components: {
        TodoItem: TodoItem
    },
    methods: {
        addWork: function() {
            this.arr.push(this.newItem);
            this.newItem = ''
        },
        handleItemDelete: function(index) {
            console.log(index)
            this.arr.splice(index, 1);
        }
    }
});
</script>

</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容