父组件传递子组件的通信

父组件传递子组件的通信

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>使用组件来改造TodoList</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <input type="text" v-model="inputValue">
        <button v-on:click="handleClick">提交</button>
        <ul>
            <!-- <li v-for="item in list">{{item}}</li> -->
            <todo-item v-bind:content="item" v-for="item in list"></todo-item>
        </ul>
    </div>
    <script>
        Vue.component('TodoItem',{
            props:{
                content:String,
                default: () => {
                  return []
              }
            },
            template:"<li>{{content}}</li>"
        })

        var app = new Vue({
            el:'#app',
            data:{
                list:[],
                inputValue:''
            },
            methods:{
                handleClick:function(){
                    this.list.push(this.inputValue)
                    this.inputValue = ''
                }
            }
        })
    </script>
</body>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2020-05-26 09:59:50

同学你好,对于你的问题解答如下:

  1. 创建的vue实例就是父组件,todo-item是子组件。如下图所示,红框圈起来的就是父组件,黄框圈起来的部分就是子组件

    http://img1.sycdn.imooc.com//climg/5ecc774609d1a35108680752.jpg

  2. 父子组件通信,就是父组件在子组件上通过数据绑定向子组件传值,即:案例中的v-bind:content ="item" 是通过数据绑定,从父组件给子组件传递数据,:content是一个自定义属性。

    子组件中通过props接收父组件传递过来的数据,即:通过content属性,获取数据。

同学可以结合视频讲解,练习下代码,帮助自己更好的理解,祝学习愉快~

提问者 再坚持坚持一下 2020-05-25 22:14:41

这个父组件和子组件通信 是这样理解的吗?

老师这里的props 是父组件从子组件接收的数据对吗?那么全局组件中的props定义是指子组件还是父组件阿。 props是父组件接受,那么v-bind:content 是监听子组件吗?  把数据存放在content中? 不理解阿

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师