欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Vue的ref特性的使用

 更新時(shí)間:2020年01月24日 10:07:40   作者:bluesboneW  
這篇文章主要介紹了詳解Vue的ref特性的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、ref的基本使用

ref的使用
<!-- `vm.$refs.p`將會(huì)是DOM結(jié)點(diǎn) -->
<p ref="p">hello</p>

<!-- `vm.$refs.child`將會(huì)是子組件實(shí)例 -->
<child-component ref="child"></child-component>

如果在普通的 DOM 元素上使用,引用指向的就是DOM 元素如果用在子組件上,引用就指向組件實(shí)例

深入理解$refs

某組件的$refs含有該組件的所有ref,看下面的例子

<div id="app">
  <p ref="p">hello</p>
  <child-component ref="child"></child-component>
</div>

<script>
Vue.component('child-component', {
  template: '<h1>child-component </h1>'
})

let vm = new Vue({
  el: '#app'
})
</script>

從上圖中我們很容易發(fā)現(xiàn)
vm.$refs返回了一個(gè)對象,這個(gè)對象內(nèi)有兩個(gè)成員,包含了vm實(shí)例的所有ref
vm.$refs.p是DOM 元素
vm.$refs.child是組件實(shí)例

二、實(shí)戰(zhàn):通過ref獲取子組件data

看下面的例子

<div id="app">
  <counter ref="child1" @change="handleChange"></counter>
  <counter ref="child2" @change="handleChange"></counter>
  <div>{{sum}}</div>
</div>

<script>
// counter組件,實(shí)現(xiàn)每點(diǎn)擊一次,自增1
Vue.component('counter', {
  template: '<h3 @click="handleClick">{{count}}</h3>',
  data() {
    return {
      count: 0
    }
  },
  methods: {
    handleClick() {
      this.count += 1;
      this.$emit('change')
    }
  }
})

let vm = new Vue({
  el: '#app',
  data: {
    sum: 0
  },
  methods: {
    handleChange() {
      this.sum = this.$refs.child1.count + this.$refs.child2.count // 使用refs獲取子組件的數(shù)據(jù)
    }
  }
})
</script>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue.js通過自定義指令實(shí)現(xiàn)數(shù)據(jù)拉取更新的實(shí)現(xiàn)方法

    vue.js通過自定義指令實(shí)現(xiàn)數(shù)據(jù)拉取更新的實(shí)現(xiàn)方法

    數(shù)據(jù)拉取更新這個(gè)功能相信大家基本都見過,但是如果要做起來卻不止如何做起,所以這篇文章給大家分享了vue.js通過自定義指令實(shí)現(xiàn)的方法,閱讀本文需要對vue有一定理解,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • Vue2 Watch監(jiān)聽操作方法

    Vue2 Watch監(jiān)聽操作方法

    這篇文章主要介紹了Vue2 Watch監(jiān)聽,通過watch監(jiān)聽器,我們可以實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的變化,并且在數(shù)據(jù)發(fā)生改變時(shí)進(jìn)行相應(yīng)的操作,需要的朋友可以參考下
    2023-12-12
  • Vue 滾動(dòng)行為的具體使用方法

    Vue 滾動(dòng)行為的具體使用方法

    本篇文章主要介紹了Vue 滾動(dòng)行為的具體使用方法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue.js的模板語法詳解

    Vue.js的模板語法詳解

    Vue.js 的核心是一個(gè)允許你采用簡潔的模板語法來聲明式的將數(shù)據(jù)渲染進(jìn) DOM 的系統(tǒng)。這篇文章重點(diǎn)給大家介紹Vue.js的模板語法,感興趣的朋友跟隨小編一起看看吧
    2020-02-02
  • html2canvas使用文檔(vue舉例)

    html2canvas使用文檔(vue舉例)

    html2canvas.js是一款可以在網(wǎng)頁上實(shí)現(xiàn)頁面截圖的js,它使用了html5和css3的一些新功能特性,實(shí)現(xiàn)了在客戶端對網(wǎng)頁進(jìn)行截圖的功能,這篇文章主要給大家介紹了關(guān)于html2canvas使用的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • vuejs綁定class和style樣式

    vuejs綁定class和style樣式

    本文主要介紹了vue.js實(shí)現(xiàn)綁定class和style樣式的方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • 微信小程序如何像vue一樣在動(dòng)態(tài)綁定類名

    微信小程序如何像vue一樣在動(dòng)態(tài)綁定類名

    這篇文章主要介紹了微信小程序如何像vue一樣在動(dòng)態(tài)綁定類名,文中給大家提到了vue與微信小程序的區(qū)別,需要的朋友可以參考下
    2018-04-04
  • vue使用openlayers實(shí)現(xiàn)移動(dòng)點(diǎn)動(dòng)畫

    vue使用openlayers實(shí)現(xiàn)移動(dòng)點(diǎn)動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了vue使用openlayers實(shí)現(xiàn)移動(dòng)點(diǎn)動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 一文帶你深入理解Vue3中Composition API的使用

    一文帶你深入理解Vue3中Composition API的使用

    Composition API 是 Vue 3 中的一項(xiàng)強(qiáng)大功能,它改進(jìn)了代碼組織和重用,使得構(gòu)建組件更加靈活和可維護(hù),本文我們將深入探討 Composition API 的各個(gè)方面,希望對大家有所幫助
    2023-10-10
  • Vue3 的ref和reactive的用法和區(qū)別示例解析

    Vue3 的ref和reactive的用法和區(qū)別示例解析

    ref和reactive是Vue3中用來實(shí)現(xiàn)數(shù)據(jù)響應(yīng)式的API,一般情況下,ref定義基本數(shù)據(jù)類型,reactive定義引用數(shù)據(jù)類型,本文給大家介紹Vue3 的ref和reactive的用法和區(qū)別,感興趣的朋友一起看看吧
    2023-10-10

最新評論