vue组件之间的通信

1、父组件数据如何传递给子组件呢?可以通过props属性来实现
<body>
    <div class="app">

        <input type="text" placeholder="Add a todo" v-on:keyup.enter="addNewTodo" v-model="newTodoText">
        <ul>
            <li
                is="todo-item"
                v-for="(todo, index) in todos"
                v-bind:title="todo"
                v-on:remove="change(index)"
            ></li>
        </ul>
    </div>

<script src="https://unpkg.com/vue"></script>
<script>

    Vue.component("todo-item",{
        props:["title"],
        template:`
            <li>
                {{title}}
                <button v-on:click="$emit('remove')">X</button>
            </li>
        `
    });

    var app = new Vue({
        el:".app",
        data:{
            newTodoText:'',
            todos:[
                'Do the dishes',
                'Take out the trash',
                'Mow the lawn'
            ]
        },
        methods:{
            addNewTodo:function(){
                this.todos.push(this.newTodoText);
                this.newTodoText = '';
            },
            change: function(index){
            	this.todos.splice(index, 1);
            }
        }
    })


</script>
</body>
2、子组件和父组件之间的通信
这在vue中是不允许的,因为vue只允许单向数据传递,这时候我们可以通过触发事件来通知父组件改变数据。
$emit("事件",“参数”);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值