zoukankan      html  css  js  c++  java
  • vue组件间传参

    1、父组件向子组件传参

      父组件:

        objVal: {name: 'aa', age: 18}

        <Nav  :title="msg"  :obj="objVal"  />

      子组件:

        第一种接收方法

        props: ['title', 'obj']

        第二种接收方法

        props: {

          title: String,  // 简写

          title:{    // 具体写法

            type: String,

            default: '标题'

          },

          obj: {

            name: String,

            age: Number

          }

        }

    2、子组件向父组件传参

      子组件:

        <button  @click="del">删除</button>

        del( ){

          this.$emit('btn', '删除数据')

        }

      父组件:

        <Btn  @btn="receive" />

        receive(data){

          console.log(data)  // '删除数据'

        }

      子组件:

        <button  @click="del">删除</button>

        props: ["delData"]

        del( ){

          this.$emit('btn', this.delData)

        }

      父组件:

        <Btn  :delData="delData"  @btn="receive" />

        receive(data){

          data( )

        }

      

    3、父组件使用子组件的数据或方法

      子组件:

        <button>子组件</button>

        msg:  '子组件数据'

        fun( ){console.log('子组件方法')}

      父组件:

        <p  ref="pp">父组件</p>

        <Btn  ref="btn"  />

        this.$refs.btn.msg  // '子组件数据'

        this.$refs.btn.fun( )  // '子组件方法'

        this.$refs.pp.style.color="red"

    4、使用provide和inject传值

      父组件

      data(){

        return {

          title: '标题',

          obj:{

            name: '张三',

            sex: 'man'

          }

        }

      }

      provide(){

        return {

          msg: '信息',  // 不是响应式数据

          title: this.title,  // 不是响应式数据

          obj: this.obj  // 是响应式数据,必须是监听的对象

        }

      }

      mounted(){

        this._provided.msg = '改变信息'  // 

        this.title = '改变标题'

        this.obj.name = '李四'    

        this._provided.obj.sex = 'woman'

      }

      子组件

      {{msg}}  // 信息

      {{title}}  // 标题

      {{obj.name}}  // 李四

      {{obj.sex}}  // woman

      inject: ['msg', 'title', 'obj']

     

  • 相关阅读:
    NSIS附加数据库,分离数据库脚本代码
    C# 昨天今天明天上周本周下周上月本月下月等日期计算
    NSIS安装MSDE2000和NET2.0脚本代码
    sql 获取指定数据表的所有字段名称的字符串
    如何检测TerraGate的InternetLicense运行是否正常
    Skyline TEP5.1.3二次开发入门——初级(七)
    Skyline软件二次开发初级——2如何在WEB页面中控制三维地图的观察点坐标和角度
    如何实现Skyline与微软bing地图的联动
    Skyline软件二次开发初级——3如何在WEB页面中的三维地图上创建几何对象
    Skyline软件二次开发初级——1如何在web页面中添加控件和加载三维地图数据
  • 原文地址:https://www.cnblogs.com/cuishuangshuang/p/13458898.html
Copyright © 2011-2022 走看看