概述
定义
被用来给元素或者子组件打标识的属性(对应js的id属性)
应用场景
应用在html标签上,获取的是真实的dom元素:
<h1 v-text="msg" ref="title"></h1>
应用在组件标签上,获取的是组件实例对象:
<School ref="component"/>
最佳实践
如下代码,点击按钮前的内容是没有设置字体颜色的,现在需求要将字体颜色设置为红色,这时候我们就得使用ref属性。首先在<h1>
标签属性上打上ref="title"标识,然后在点击button 后调用showDom函数,获取标识并设置颜色:
this.$refs.title.style.color = 'red';
App.vue代码如下:
<template>
<div id="app" class="school" ref="divstyle">
<h1 v-text="msg" ref="title"></h1>
<button @click="showDom">点我输出上方dom</button>
<School ref="component"/>
</div>
</template>
<script>
//App.vue是汇总所有组件的,所以得引入各个组件
import School from '../src/components/School.vue'
export default {
name: 'App',
data(){
return {
msg:'学习vue'
}
},
methods:{
showDom() {
console.log(this)
this.$refs.title.style.color = 'red';
this.$refs.divstyle.style.width = '300px';
console.log(this.$refs.component)
}
},
components: {
School
}
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
.school {
background-color: gray;
}
</style>
子组件School.vue代码如下
<template>
<div>
<h2>学校名称:{{name}}</h2>
<h2>学校地址:{{addr}}</h2>
</div>
</template>
<script>
export default {
//组件名称
name:'School',
data() {
return {
name:'树人小学',
addr:'南京'
}
},
}
</script>
<style>
</style>
最后
以上就是冷静缘分为你收集整理的vue ref属性的全部内容,希望文章能够帮你解决vue ref属性所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复