refs/props/mixin/scoped的使用

refs的使用

定义:ref是用来给元素或子组件注册引用信息,引用信息会注册在父组件的 $refs 对象上。

作用:在vue中一般很少会直接操作DOM,但偶尔会用到,这时可以通过【ref和$refs】两个来实现(减少获取dom节点的消耗)。

用法:使用this.$res.xxx 去调用

  <div>
     <h1 ref="title">{{info}}</h1>
	 <input type="text" ref="realname" value=""/>
	 <button @click="showdom" ref="btn">点我输出DOM元素</button>
  </div>

<script>
import School from './components/School'

export default {
  name: 'app',
  data(){
	  return {
		  info:'学校信息',
	  }
  },
  methods: {
  	showdom() {
  		console.log(this.$refs.title);//输出真实dom元素
		console.log(this.$refs.btn);//输出真实dom元素
		console.log(this.$refs.realname.value);//输出input框的值
  	}
  },
  
}
</script>

props的使用

定义

用于父组件给子组件传递数据。传递用法:

 <School ref="sch" realname="张三" sex="男" :age="age"></School>

加:可引用表达式,否则就是字符串。

简单声明

props: ['realname','sex','age'],//第一种:简单声明

指定名称与类型

props: {
 	realname: String,
 	sex:String,
 	age:Number
}

类型+必填+默认值

props: {
			realname: {
				type: String,
				default: '无姓名',
				required:true
			},:用于父组件给子组件传递数据
sex: {
				type: String,
				default: '男'
		},
		age: {
				type: Number,
				required:true,
				default:30,
		}
},

mixin混合

定义

混入 (mixins) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。

创建mixins文件

与src同级别:

export const hunhe1 = {
	methods: {
		show() {
			alert(this.name);
		}
	},
}
export const hunhe2 = {
	data(){
		return{
			x:100,
			y:200
		}
	}
}

 局部混入

在需要混入的组件中引入

import {hunhe1,hunhe2} from '../mixin.js';
mixins:[hunhe,hunhe2],

 全局混入

在main.js中混入

import {hunhe,hunhe2} from './mixin'
Vue.mixin(hunhe)
Vue.mixin(hunhe2)

scoped

定义

在Vue文件中的style标签上有一个特殊的属性,scoped。当一个style标签拥有scoped属性时候,它的css样式只能用于当前的Vue组件,可以使组件的样式不相互污染。

写法

Lang控制style语言,默认是css。

<style scoped lang="less">
	.demo{
		background: blue;
	}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值