zoukankan      html  css  js  c++  java
  • vue 数据传递

    vue 2.2.0新增了 provide inject功能。

    官网提示:provide 和 inject主要为高阶插件/组件库提供用例,并不推荐直接用于应用程序代码中。

    这对选项需要一起使用,以允许一个祖先向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。这里与react的上下文特性很相似。

    注意:这个provide提供的数据正常来说是不会自动更新的,但是如果传递的参数是已监听的对象也是可以做到实时更新的。

    //Parent.vue
    <template>
        <div class="box">
            <p>发给child的modelMSG: {{modelMSG.msg}}</p>
            <p>
                修改modelMSG:
                <input type="text" v-model="modelMSG.msg" />
            </p>
            <Child :data.sync="modelMSG" />
        </div>
    </template>
    
    <script>
    import Child from './Child'
    export default {
        name: 'Parent',
        components: {
            Child,
        },
        provide() {
            return {
                data: this.modelMSG,
            }
        },
        data() {
            return {
                modelMSG: {
                    msg: '发给Child的modelMSG信息',
                },
                name: 'Parent的名字',
            }
        },
    }
    </script>
    //Child.vue
    <template>
        <div class="hello">
            <p class="red">来自Parent的value: {{data.msg}}</p>
        </div>
    </template>
    
    <script>
    export default {
        name: 'Child',
        inject: ['data'],
    }
    </script>
    
  • 相关阅读:
    tyvj P3737 逐个击破
    最小生成树 kruskal
    最小生成树 prim
    code2039 骑马修栏杆
    前端优化
    数组1
    数组
    序列化对象
    解决iphone横屏时字体变大问题或者内容大小不一样等...
    Media Queries详解
  • 原文地址:https://www.cnblogs.com/hellolol/p/11833361.html
Copyright © 2011-2022 走看看