日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue 解決provide和inject響應的問題

瀏覽:27日期:2022-10-31 10:03:48

官網上說provide 和 inject 綁定并不是可響應的。這是刻意為之的。然而,如果你傳入了一個可監聽的對象,那么其對象的屬性還是可響應的。

provide:

Object | () => Object(一個對象或返回一個對象的函數)

inject:

Array | { [key: string]: string | Symbol | Object }(一個字符串數組,或一個對象,對象的 key 是本地的綁定名)

要實現父子組件響應,父組件傳遞的數據類型必須是對象Object,子組件接收的數據類型必須是對象Object,其他數據類型都是不好使的

provide和inject響應的例子:

父組件:

<template> <div class='menu'> <label>父組件輸入框:</label> <input v-model='level.name' @change='levelChange(level.name)'/> <!-- 子組件 --> <my-list></my-list> </div></template>

<script>import MyList from ’@/pages/user/children/MyList’export default { components:{MyList}, provide(){ return { userLevel:this.level, } }, data(){ return{ level:{name:'初始化'}, } }, methods:{ levelChange(val){ this.userLevel = this.level; console.log(this.userLevel )//可以打印出對象屬性name值改變了 } }}</script>

子組件(MyList.vue)

<template> <div class='my-list'> <p>子組件接收數據:{{userLevel.name}}</p> <label>父組件輸入框:</label><input type='text' v-model='userLevel.name'> </div></template>

<script>export default { // inject:[’userLevel’], inject:{ userLevel:{ default:()=>{} }, }, data(){ return{ } } }</script>

輸出:

初始化:

vue 解決provide和inject響應的問題

修改父組件數據:輸入框的值是'初始',子組件也輸出'初始

vue 解決provide和inject響應的問題

修改子組件數據:輸入框的值是'子組件',父組件輸入框也顯示'子組件'

vue 解決provide和inject響應的問題

好啦,provide和inject實現響應,父組件的數據修改影響了子組件的更新,子組件的數據修改同樣影響了父組件的更新。

數據格式為對象Object的類型,父組件修改數據影響子組件,子組件修改數據影響父組件,感覺和對象的存儲有關,對象格式數據存儲的是指針而不是數據,所以父子組件其實是用的同一個對象,修改的也是同一個對象,因此會實現雙向響應改變,不知道我這樣理解的是由有問題。

補充知識:vue監聽賦值值以及provide與inject

vue 當父組件 改變 子組件的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 v-if='list' ref='commentList'></ul> scrollToTop () { this.$refs.commentList.scrollTop = 0 }

$el

this.$refs.studentListDialog.$el.querySelector(’.el-dialog’)

vm.$once( event, callback )

參數:

{string} event

{Function} callback

用法:

監聽一個自定義事件,但是只觸發一次,在第一次觸發之后移除監聽器。

vm.$off( [event, callback] )

參數:

{string | Array<string>} event (只在 2.2.2+ 支持數組)

{Function} [callback]

用法:

移除自定義事件監聽器。

如果沒有提供參數,則移除所有的事件監聽器;

如果只提供了事件,則移除該事件所有的監聽器;

如果同時提供了事件與回調,則只移除這個回調的監聽器。

vm.$destroy()

用法:

完全銷毀一個實例。清理它與其它實例的連接,解綁它的全部指令及事件監聽器。

觸發 beforeDestroy 和 destroyed 的鉤子。

當生成vue實例后,當再次給數據賦值時,有時候并不會自動更新到視圖上去

obj:{ arr:[] }

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

需要新增一個arr賦值或者

this.$set(this.ruleForm, ’date’, time)

vue.set(target,key,value)

參數

{object | Array} target

{string | number} key

{any} value

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

set方法調用時,可以觸發頁面全部重新渲染。

provide:Object | () => Object

inject:Array<string> | { [key: string]: string | Symbol | Object }

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

provide 選項應該是一個對象或返回一個對象的函數。該對象包含可注入其子孫的屬性。在該對象中你可以使用 ES2015 Symbols 作為 key,但是只在原生支持 Symbol 和 Reflect.ownKeys 的環境下可工作。

inject 選項應該是:

一個字符串數組,或

一個對象,對象的 key 是本地的綁定名,value 是:

在可用的注入內容中搜索用的 key (字符串或 Symbol),或

一個對象,該對象的:

from 屬性是在可用的注入內容中搜索用的 key (字符串或 Symbol)

default 屬性是降級情況下使用的 value

提示:provide 和 inject 綁定并不是可響應的。這是刻意為之的。然而,如果你傳入了一個可監聽的對象,那么其對象的屬性還是可響應的。

示例:

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

以上這篇vue 解決provide和inject響應的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
九九精品调教| 久久精品青草| 国产精品毛片视频| 欧美激情福利| 国模精品一区| 国产精品hd| 国产日韩高清一区二区三区在线 | 亚洲综合精品| 欧美成人基地| 精品视频国产| 国产精品网站在线看| 免费观看在线综合色| а√天堂8资源中文在线| 日本午夜精品视频在线观看| 亚洲精品裸体| 国产精品久久久久9999高清| 福利精品一区| 美女精品久久| 精品亚洲免a| 亚洲一区欧美二区| 老鸭窝一区二区久久精品| 黄色日韩在线| 久久国产主播| 狠狠久久伊人中文字幕| 国产欧美日韩亚洲一区二区三区| 久久久影院免费| 99视频一区| 水蜜桃久久夜色精品一区的特点 | 日本久久一区| 91视频久久| 日韩高清电影一区| 国产精品三级| 国产欧美大片| 日韩欧美不卡| 日本成人中文字幕| 国产一区二区三区久久久久久久久| 日韩精选在线| 激情婷婷久久| 日本91福利区| 欧美一级二级视频| 国产精品白丝av嫩草影院| 涩涩av在线| 尹人成人综合网| 欧美激情视频一区二区三区免费 | 亚洲四虎影院| 欧美在线黄色| 人人爱人人干婷婷丁香亚洲| 成人综合一区| 久久精品理论片| 亚洲一级少妇| 欧美激情福利| 1000部精品久久久久久久久| 亚洲免费福利| 中文精品电影| 夜夜嗨一区二区| 欧美精品自拍| 午夜在线精品偷拍| 久热精品在线| 综合视频一区| 久久精品xxxxx| 中文在线日韩| 精品国内亚洲2022精品成人| 国产精品国产一区| 蜜臀91精品国产高清在线观看| 天堂成人国产精品一区| 国产精品九九| 久久高清国产| 欧美搞黄网站| 蜜桃久久精品一区二区| 欧美黄页在线免费观看| 欧美一区二区三区激情视频| 水蜜桃久久夜色精品一区的特点| 日本伊人久久| 久久不见久久见国语| 国产精品字幕| 日韩三级视频| 久久理论电影| 免费一区二区三区在线视频| 亚洲激情二区| 亚洲激情中文| 免费不卡在线观看| 五月激激激综合网色播| 欧美aa国产视频| 日韩精品视频网| 日本不卡高清| 国产精品v亚洲精品v日韩精品| 国产乱码精品一区二区亚洲| 日本aⅴ亚洲精品中文乱码| 欧美a一区二区| 国产在线观看www| 精品一级视频| 日韩中文一区二区| 国产精品亚洲一区二区在线观看| 亚洲国产福利| 免费精品国产| 一区在线免费观看| 欧美激情日韩| 日本vs亚洲vs韩国一区三区二区| 国产精品yjizz视频网| 国产精品**亚洲精品| 91精品综合| 中文在线а√在线8| 国产精品久久久久久久久久10秀| 免费看久久久| 久久夜色精品| 久久福利一区| 综合色一区二区| 夜久久久久久| 在线观看视频免费一区二区三区| 色爱av综合网| 久久亚洲国产| 一区二区电影在线观看| 国产亚洲一区在线| av资源亚洲| 日韩成人亚洲| 久久午夜影院| 99国产精品久久久久久久成人热 | 国产欧美啪啪| 日日夜夜免费精品视频| 乱人伦精品视频在线观看| 男人的天堂亚洲一区| 欧美日韩水蜜桃| 久久国产人妖系列| 亚洲一区欧美| 国产日韩免费| 综合日韩av| 9色精品在线| 久久狠狠久久| 亚洲天堂资源| 午夜在线一区| 亚洲黄色影院| 欧美日韩黄网站| 精品在线网站观看| 久久免费大视频| 色综合视频一区二区三区日韩| 国产精品17p| 国产欧美另类| 欧洲精品一区二区三区| 在线精品观看| 国产精品色婷婷在线观看| 亚洲精品2区| 高清久久一区| 美女性感视频久久| 久久久久久久久丰满| 另类中文字幕国产精品| 久久久国产精品入口麻豆| 日本天堂一区| 国产夫妻在线| 久久久亚洲欧洲日产| 伊人久久婷婷| 精品资源在线| 综合色一区二区| 欧美日韩国产免费观看 | 午夜精品成人av| 日韩视频久久| 丝袜美腿一区二区三区| aa亚洲婷婷| 91日韩免费| 国产精品99一区二区三| 国产欧美另类| 在线精品国产亚洲| 免费看精品久久片| 先锋亚洲精品| 日本欧美在线| 日韩欧美在线精品| 国产亚洲一卡2卡3卡4卡新区| 久久久久久色 | 久久网站免费观看| 亚洲乱码一区| 97精品97| 国产日韩三级| 国产在线成人| 国产亚洲毛片| 亚洲精品在线影院| 国产不卡av一区二区| 国产精品一级| 人人精品亚洲| 日韩在线观看中文字幕| 视频在线不卡免费观看| 日本欧美不卡| 久久精品99国产精品| 日本vs亚洲vs韩国一区三区二区| 久久天堂成人| 91久久精品无嫩草影院| 国产精品久久乐| 久久久天天操| 日韩三级视频| 韩国精品主播一区二区在线观看| 久久精品青草| 香蕉成人av| 美国欧美日韩国产在线播放| 亚洲乱码一区| 久久久久国产精品一区二区| 亚洲夜间福利| 水野朝阳av一区二区三区| 成人国产精品一区二区网站| 最新亚洲国产| 狠狠干综合网| 亚洲精品伊人| 日韩高清一区在线 |