父子组件通讯(六)

父子组件通信

在子组件添加 props属性(数组),可添加多个 ;
在组件渲染的html中 用v-bind进行属性绑定 :子属性=“父属性”
属性即可在子组件模板使用{{属性}}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div id="app">
            <com1 v-bind:cmessage="message" v-bind:cmovies="movies"></com1>
        </div>
        <template id="temp1">
            <div>
                <h4>{{cmessage}}
                    {{cmovies}}</h4>
                <com2 :zcmovies="cmovies"></com2>
            </div>
        </template>

        <template id="comp2">
            <div>
                <li v-for="item in zcmovies">{{item}}</li>
            </div>
        </template>

        <script>
            new Vue({
                el: '#app',
                data: {
                    message: '组件通讯-Test',
                    movies: ['海贼王', '海王', '海尔兄弟']
                },
                components: {
                    com1: {
                        template: '#temp1',
                        props: {
                            cmessage: {
                                type: String,
                                default: ['blank'],
                                required: true
                            },
                            cmovies: {
                                type: Array,
                                default: function() {
                                    return []
                                },
                                validate: function(value) { //自定义验证好书,这个值必须匹配字符串中的一个| --待验证
                                    return ['海贼王', '海王', '海尔兄弟', '哪吒闹海'].indexOf(value) !== -1
                                }
                            }

                        },
                        components: {
                            com2: {
                                template: '#comp2',
                                props: ['zcmovies']
                            }
                        }
                    }
                }
            });
        </script>
    </body>
</html>
<!-- 父子组件通信 
    1.在子组件添加 props属性(数组),可添加多个 ;
    2.在组件渲染的html中 用v-bind进行属性绑定  :子属性=“父属性” 
    3.属性即可在子组件模板使用{{属性}}-->
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 组件是vue最主要的语法特性之一,组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,...
    前端一菜鸟阅读 330评论 0 4
  • vue组件传参的八种方式 1:props/$emit 父组件通过props的方式向子组件传递数据,而通过$emit...
    Master_Devil阅读 124评论 0 0
  • 组件通讯 一、组件:组件是可复用的 Vue 实例 二、创建组件: 例如: 三、组件通讯 父传子:1.创建两个组件A...
    _TSRed阅读 825评论 1 0
  • 有三种,分别是1、父组件向子组件传值;2、子组件向父组件传值;3、非父子组件传值; 父向子传值:父组件定义一个属性...
    hudaren阅读 159评论 0 0
  • 新的一年,新的一天,我在觉知正念中开启! 今天早上的收获很大,琪琪姐对我的回应让我加深了布施的理解,当我真的没有任...
    CherryHuang阅读 245评论 0 1