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

vue中provide?inject的響應(yīng)式監(jiān)聽解決方案

 更新時(shí)間:2022年04月18日 16:48:04   作者:阿喵阿旺  
這篇文章主要介紹了vue中provide?inject的響應(yīng)式監(jiān)聽解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

provide inject的響應(yīng)式監(jiān)聽解決

提示:provide 和 inject 綁定并不是可響應(yīng)的。這是刻意為之的。然而,如果你傳入了一個(gè)可監(jiān)聽的對(duì)象,那么其對(duì)象的屬性還是可響應(yīng)的。

所以傳值傳對(duì)象即可

provide(){
? ? return {
? ? ? provObj: {
? ? ? ? uuidList:{}
? ? ? }
? ? }
? },
  • this._provided.provObj.uuidList = res(異步得到的數(shù)據(jù))
  • inject那邊正常獲取

vue監(jiān)聽賦值及provide與inject

vue 當(dāng)父組件 改變 子組件的props 卻不變

? watch: {
? ? 'oState': function (val,oldval) {
? ? ? this.getOrderList({orderStatus: this.getOrderState(this.oState), pageSize: 1})
? ? },
? // 深度 watcher
? ? ? c: {
? ? ? ? handler: function (val, oldVal) { /* ... */ },
? ? ? ? deep: true
? ? ? },
? },
  • $refs
? <ul class="comment-list" v-if="list" ref="commentList"></ul>
? scrollToTop () {
? ? this.$refs.commentList.scrollTop = 0
? }
  • $el
? this.$refs.studentListDialog.$el.querySelector('.el-dialog')
? vm.$once( event, callback )

參數(shù):

{string} event

{Function} callback

用法:

監(jiān)聽一個(gè)自定義事件,但是只觸發(fā)一次,在第一次觸發(fā)之后移除監(jiān)聽器。

vm.$off( [event, callback] )

參數(shù):

  • {string | Array<string>} event (只在 2.2.2+ 支持?jǐn)?shù)組)
  • {Function} [callback]

用法:

  • 移除自定義事件監(jiān)聽器。
  • 如果沒有提供參數(shù),則移除所有的事件監(jiān)聽器;
  • 如果只提供了事件,則移除該事件所有的監(jiān)聽器;
  • 如果同時(shí)提供了事件與回調(diào),則只移除這個(gè)回調(diào)的監(jiān)聽器。
vm.$destroy()

用法:

完全銷毀一個(gè)實(shí)例。清理它與其它實(shí)例的連接,解綁它的全部指令及事件監(jiān)聽器。

觸發(fā) beforeDestroy 和 destroyed 的鉤子。

當(dāng)生成vue實(shí)例后,當(dāng)再次給數(shù)據(jù)賦值時(shí),有時(shí)候并不會(huì)自動(dòng)更新到視圖上去

? obj:{
? ?? ?arr:[]
? }

雙向綁定后無法直接改變obj.arr

需要新增一個(gè)arr賦值或者

? this.$set(this.ruleForm, 'date', time)
? vue.set(target,key,value)

參數(shù):

{object | Array} target

{string | number} key

{any} value

this.$set()和Vue.set()本質(zhì)方法一樣,前者可以用在methods中使用。

set方法調(diào)用時(shí),可以觸發(fā)頁面全部重新渲染。

provide:Object | () => Objectinject:Array<string> | { [key: string]: string | Symbol | Object }

這對(duì)選項(xiàng)需要一起使用,以允許一個(gè)祖先組件向其所有子孫后代注入一個(gè)依賴,不論組件層次有多深,并在起上下游關(guān)系成立的時(shí)間里始終生效。如果你熟悉 React,這與 React 的上下文特性很相似。

provide 選項(xiàng)應(yīng)該是一個(gè)對(duì)象或返回一個(gè)對(duì)象的函數(shù)。該對(duì)象包含可注入其子孫的屬性。在該對(duì)象中你可以使用 ES2015 Symbols 作為 key,但是只在原生支持 Symbol 和 Reflect.ownKeys 的環(huán)境下可工作。

inject 選項(xiàng)應(yīng)該是:

一個(gè)字符串?dāng)?shù)組,或一個(gè)對(duì)象,對(duì)象的 key 是本地的綁定名,value 是:

在可用的注入內(nèi)容中搜索用的 key (字符串或 Symbol),或一個(gè)對(duì)象,該對(duì)象的:

  • from 屬性是在可用的注入內(nèi)容中搜索用的 key (字符串或 Symbol)
  • default 屬性是降級(jí)情況下使用的 value

提示:provide 和 inject 綁定并不是可響應(yīng)的。這是刻意為之的。然而,如果你傳入了一個(gè)可監(jiān)聽的對(duì)象,那么其對(duì)象的屬性還是可響應(yīng)的。

示例:

// 父級(jí)組件提供 ‘foo'
? var Provider = {
? ? provide: {
? ? ? foo: 'bar'
? ? },
? ? // ...
? }
// 子組件注入 'foo'
? var Child = {
? ? inject: ['foo'],
? ? created () {
? ? ? console.log(this.foo) // => "bar"
? ? }
? ? // ...
? }

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • vue多個(gè)元素的樣式選擇器問題

    vue多個(gè)元素的樣式選擇器問題

    這篇文章主要介紹了vue多個(gè)元素的樣式選擇器問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • vue之bus總線的簡(jiǎn)單使用解讀

    vue之bus總線的簡(jiǎn)單使用解讀

    這篇文章主要介紹了vue之bus總線的簡(jiǎn)單使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue使用el-table 添加行手動(dòng)填寫數(shù)據(jù)和刪除行及提交保存功能

    vue使用el-table 添加行手動(dòng)填寫數(shù)據(jù)和刪除行及提交保存功能

    遇到這樣的需求點(diǎn)擊新增按鈕實(shí)現(xiàn)下列彈窗的效果,點(diǎn)擊添加行新增一行,點(diǎn)擊刪除進(jìn)行刪除行,點(diǎn)擊提交將數(shù)據(jù)傳遞到后端進(jìn)行保存,怎么實(shí)現(xiàn)的呢,下面通過實(shí)例代碼給大家詳細(xì)講解,感興趣的朋友一起看看吧
    2023-12-12
  • vue實(shí)現(xiàn)前端分頁完整代碼

    vue實(shí)現(xiàn)前端分頁完整代碼

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)前端分頁完整代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Element input樹型下拉框的實(shí)現(xiàn)代碼

    Element input樹型下拉框的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Element input樹型下拉框的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue element封裝form表單的實(shí)現(xiàn)

    vue element封裝form表單的實(shí)現(xiàn)

    本文主要介紹了vue element封裝form表單的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 使用vuex解決刷新頁面state數(shù)據(jù)消失的問題記錄

    使用vuex解決刷新頁面state數(shù)據(jù)消失的問題記錄

    這篇文章主要介紹了使用vuex解決刷新頁面state數(shù)據(jù)消失的問題記錄,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue常見錯(cuò)誤Error?in?mounted?hook解決辦法

    Vue常見錯(cuò)誤Error?in?mounted?hook解決辦法

    這篇文章主要給大家介紹了關(guān)于Vue常見錯(cuò)誤Error?in?mounted?hook的解決辦法,出現(xiàn)這樣的問題,會(huì)發(fā)現(xiàn)跟聲明周期鉤子有關(guān)系,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 解決vue中axios設(shè)置超時(shí)(超過5分鐘)沒反應(yīng)的問題

    解決vue中axios設(shè)置超時(shí)(超過5分鐘)沒反應(yīng)的問題

    這篇文章主要介紹了解決vue中axios設(shè)置超時(shí)(超過5分鐘)沒反應(yīng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 利用nginx部署vue項(xiàng)目的全過程

    利用nginx部署vue項(xiàng)目的全過程

    今天要用到服務(wù)器nginx,還需要把自己的vue的項(xiàng)目部署到服務(wù)器上去所以就寫一下記錄下來,下面這篇文章主要給大家介紹了關(guān)于利用nginx部署vue項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評(píng)論