Vue笔记 组件通信:ref、props mixin scoped

本文介绍了Vue.js中组件通信的关键技术,包括使用ref属性获取真实DOM或组件实例,props属性实现父组件向子组件传递数据,强调props的只读性质,mixin功能用于复用组件配置,以及scoped样式确保样式局部作用于组件,避免全局冲突。
摘要由CSDN通过智能技术生成

ref属性

1、作用:用于给节点打标识(被用来给元素或者子组件注册引用信息,id的替代者

2、应用在html标签上获取的真实DOM元素,应用在组件标签上是组件实例对象(vc)

3、使用方式:

打标识:<h1 ref="xxx">...</h1><School ref="xxx"></School>

读取方式:this.$refs.xxxxxx

props属性:让组件接收外部传过来的数据

父组件:传递数据

<template>
    <div>
      <Student name="李四" sex="女" :age="18"/>   //age前面加冒号是为了声明表达式
    </div>
</template>
 
<script>
    //引入组件
    import Student from './Student'     
 
 
    export default{
       name:'App',
       components:{
          Student
        }
      }
</script>
 

子组件: 接收数据

三种props的用法:

<template>
   <div class="demo">
     <h2>学生名称:{{name}}</h2>
     <h2>学生性别:{{sex}}</h2>
     <h2>学生年龄:{{age}}</h2>
   </div>
</template>
 
<script>
     export default{
       name:'Student',
       data(){
         return {
           msg:'我是一名学生',
        }
       },
       //1、简单接收
       props:['name','age','sex']    
       //2、接收的同时对类型进行限制
       props:{
         name:String,     
         sex:String,
         age:Number
        }
       //3、接收的同时对数据:进行类型限制+默认值的指定+必要性的限制
       props:{
         name:{
            type:String,    //name 的类型是字符串
            required:true  //name是必要的
          },
         sex:{
            type:String,    /sex的类型是字符串
            required:true  //name是必要的
          },
         age:{
            type:Number,    //age的类型是数字
            default:82  //默认值
          }
        }
      }
</script>
 

备注:props只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据

mixin属性 (混入)

功能:可以把多个组件共用的配置提取成一个混入对象

使用方式:

    第一步定义混合,例如:

     {

      data(){.....}

      methods:{.....}

}

    第二步使用混合,例如:

(1)全局混入:Vue.mixin(xxx)

(2)局部混入:mixins:['xxx']

scoped样式

作用:让样式在局部生效,防止冲突

写法:<style scoped>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翘阳啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值