vue中ref怎么用

时间:2022-12-06 01:47

vue中ref怎么用

vue中ref的用法有三种,分别是:1.ref加在普通的元素上,用this.ref.name获取dom元素;2.ref加在子组件上,用this.ref.name 获取组件实例,可以使用组件的所有方法;3.利用v-for和ref获取一组数组或者dom节点。

示例:

1.ref使用在外面的组件上。

<divid="ref-outside-component"v-on:click="consoleRef">

<component-fatherref="outsideComponentRef">

</component-father>

<p>ref在外面的组件上</p>

</div>

varrefoutsidecomponentTem={

template:"<divclass='childComp'><h5>我是子组件</h5></div>"

};

varrefoutsidecomponent=newVue({

el:"#ref-outside-component",

components:{

"component-father":refoutsidecomponentTem

},

methods:{

consoleRef:function(){

console.log(this);//#ref-outside-componentvue实例

console.log(this.$refs.outsideComponentRef);//div.childCompvue实例,组件实例

}

}

});

2.ref作用在外面元素上。

//ref在外面的元素上

<divid="ref-outside-dom"v-on:click="consoleRef">

<component-father>

</component-father>

<pref="outsideDomRef">ref在外面的元素上</p>

</div>

varrefoutsidedomTem={

template:"<divclass='childComp'><h5>我是子组件</h5></div>"

};

varrefoutsidedom=newVue({

el:"#ref-outside-dom",

components:{

"component-father":refoutsidedomTem

},

methods:{

consoleRef:function(){

console.log(this);//#ref-outside-domvue实例

console.log(this.$refs.outsideDomRef);//<p>标签dom元素ref在外面的元素上</p>

}

}

});

3.ref使用在里面的元素上,局部注册组件。

//ref在里面的元素上

<divid="ref-inside-dom">

<component-father>

</component-father>

<p>ref在里面的元素上</p>

</div>

varrefinsidedomTem={

template:"<divclass='childComp'v-on:click='consoleRef'>"+

"<h5ref='insideDomRef'>我是子组件</h5>"+

"</div>",

methods:{

consoleRef:function(){

console.log(this);//div.childCompvue实例

console.log(this.$refs.insideDomRef);//<h5>我是子组件</h5>

}

}

};

varrefinsidedom=newVue({

el:"#ref-inside-dom",

components:{

"component-father":refinsidedomTem

}

});

4.ref使用在里面的元素上,全局注册组件。

//ref在里面的元素上--全局注册

<divid="ref-inside-dom-all">

<ref-inside-dom-quanjv></ref-inside-dom-quanjv>

</div>

Vue.component("ref-inside-dom-quanjv",{

template:"<divclass='insideFather'>"+

"<inputtype='text'ref='insideDomRefAll'v-on:input='showinsideDomRef'>"+

"<p>ref在里面的元素上--全局注册</p>"+

"</div>",

methods:{

showinsideDomRef:function(){

console.log(this);//这里的this其实还是div.insideFather

console.log(this.$refs.insideDomRefAll);//<inputtype="text">

}

}

});

varrefinsidedomall=newVue({

el:"#ref-inside-dom-all"

});


标签:
随便看看
本类推荐
本类排行
热门标签

我国国家通讯社行不行啊细狗新年贺词祝福语2023年祝福语新年新年贺词新年贺词祝福语居家抗病毒小药箱除夕高速免费吗2022年除夕高速免费吗春联春联句子大全春联句子大全七字年夜饭十二道菜年夜饭十二道菜单年夜饭吃什么年夜饭吃什么菜吃年夜饭的寓意年夜饭黑芝麻菊花茶晒菊花茶腌腊肉送妈妈生日礼物汉白玉送闺蜜水钻送女人礼物爸爸生日送礼物送老公