加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Vue $root、$parent、$refs

发布时间:2020-12-14 01:08:18 所属栏目:Linux 来源:网络整理
导读:? Vue处理边界 parent、$refs 下面的功能都是有风险的,尽量避免使用 Vue 子组件可以通过 $root 属性访问父组件实例的属性和方法 div id= "app" root-obj / root-obj / div Vue.component( ‘root-obj‘,{ data() { return { } }, template: `div button @cl

?

Vue处理边界

parent、$refs

下面的功能都是有风险的,尽量避免使用

Vue 子组件可以通过 $root 属性访问父组件实例的属性和方法

<div id="app"> <root-obj></root-obj> </div> Vue.component(‘root-obj‘,{ data() { return { } },template: `<div> <button @click=‘getRoot‘>$Root</button> </div>`,methods: { getRoot() { console.log(this) console.log(this.$root) } } }) var app = new Vue({ el: ‘#app‘,data: { msg: ‘Root‘ } }) 

parent 的区别

parent 都能够实现访问父组件的属性和方法,两者的区别在于,如果存在多级子组件,通过

root 访问得到的是根父组件

<div id="app"> <root-obj></root-obj> </div> Vue.component(‘root-obj‘,template: `<div> <button @click=‘getRoot‘>子组件</button> <child-component></child-component> </div>`,methods: { getRoot() { console.log(this) console.log(this.$root) console.log(this.$parent) } } }) Vue.component(‘child-component‘,template: `<div> <button @click=‘getRoot‘>子子组件</button> </div>`,methods: { getRoot() { console.log(this) console.log(this.$root) console.log(this.$parent) } } }) var app = new Vue({ el: ‘#app‘,data: { msg: ‘Root‘ } }) 

$refs 访问子组件实例

通过在子组件标签定义 ref 属性,在父组件中可以使用$refs 访问子组件实例

<button @click=‘refView‘>通过ref访问子组件</button> Vue.component(‘base-input‘,{ data() { return { msg: ‘base-input‘ } },template: `<input type=‘text‘/>` }) var app = new Vue({ el: ‘#app‘,data: { msg: ‘Root‘ },methods: { refView() { console.log(this.$refs.baseInput) this.$refs.baseInput.$el.focus() } } })

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读