国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

解決vue數據不實時更新的問題(數據更改了,但數據不實時更新)

瀏覽:3日期:2022-11-11 08:34:05

一、在我們使用vue進行開發的過程中,可能會遇到一種情況:

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

向響應式對象中添加一個屬性,并確保這個新屬性同樣是響應式的,且觸發視圖更新。它必須用于向響應式對象上添加新屬性,因為 Vue 無法探測普通的新增屬性 ,需要用vue內置的方法

二、Vue.set() 響應式新增與修改數據

此時我們需要知道Vue.set()需要哪些參數,官方API:https://cn.vuejs.org/v2/api/#Vue-set

調用方法:Vue.set( target, key, value ) 或者 this.$set(target, key, value);

target:要更改的數據源(可以是對象或者數組)

key:要更改的具體數據

value :重新賦的值,

調用:this.$set(target, key, value);

補充知識:vue Render scopedSlots

render 中 slot 的一般默認使用方式如下: this.$slots.default 對用 template的<slot>的使用沒有name 。 想使用多個slot 的話。需要對slot命名唯一。

在render函數中動態使用多個slot,并且給slot傳值

一、我的業務邏輯:

使用了三個組件,

組件A調用組件B,組件B調用組件C,組件C是自己封裝的render渲染組件。

組件A希望將自己自定義的插槽插到C組件,C組件渲染出自定義的內容,并且將C組件的值傳遞給B組件和A組件,B組件是對C組件進行更大一層的封裝

A組件調用B組件

<index-grid> <div slot='name' slot-scope='field' @click='rowLinkClick' > <span>{{ field.field.rowData.name }}</span> </div></index-grid>

A組件引用B組件,slot-scope接收從B組件中傳出來solt的值,slot=“name”,是為插槽具名;

B組件中調用C組件的render函數

<sub-grid ref='indexGridSub'> <span v-for='(item, index) in fields' :key='index' slot='name' slot-scope='field' > <slot name='name' :field='field'></slot> </span> </sub-grid>

B組件span中 slot是動態的值,和A組件中的slot同一個值,才能接受來自A組件自定義的插槽,

field是來自于C組件中傳遞的值

C組件是render函數

h( 'td', { style: { width: field.width + 'px' }, class: { borderRight }, // 作用域插槽格式 // { name: props => VNode | Array<VNode> } scopedSlots: this.$scopedSlots.name, // 如果組件是其他組件的子組件,需為插槽指定名稱 slot: ’name’ }, this.$scopedSlots.name({ field: field, rowData: rowData, }) );

C組件往上傳遞的值就是 {field:’’, rowData: ’’} 的對象

以上這篇解決vue數據不實時更新的問題(數據更改了,但數據不實時更新)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
主站蜘蛛池模板: 沅陵县| 昆明市| 社旗县| 聂拉木县| 和林格尔县| 弥勒县| 斗六市| 乌鲁木齐县| 壤塘县| 正定县| 武城县| 尉犁县| 旺苍县| 凤庆县| 盐山县| 西贡区| 三门县| 梨树县| 溧阳市| 会泽县| 梁河县| 定结县| 蒙自县| 文登市| 夹江县| 宣城市| 鸡西市| 刚察县| 拉萨市| 彭泽县| 黄骅市| 桑日县| 新干县| 乌兰察布市| 当阳市| 潼南县| 遂宁市| 四会市| 浪卡子县| 仁化县| 宁陕县|