宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動(dòng)態(tài)
精選推薦

vue中$set用法詳細(xì)講解

管理 管理 編輯 刪除

1、為什么要用set?

在vue中,并不是任何時(shí)候數(shù)據(jù)都是雙向綁定的。
在官方文檔中,有這樣一段話,如下:

352ed202303201120576174.png

從文檔得知,當(dāng)數(shù)據(jù)沒有被雙向綁定的時(shí)候,我們就需要使用set了

2、set用法

解決數(shù)據(jù)沒有被雙向綁定我們可以使用 vm.$set 實(shí)例方法,該方法是全局方法 Vue.set 的一個(gè)別名。

 - this.$set(原數(shù)組, 索引值, 需要賦的值)

length的問題還需要用splice方法。

 - vm.items.splice(newLength)

3、什么時(shí)候使用set?

set為解決雙向綁定失效而生,我們只需要關(guān)注什么時(shí)候雙向綁定失效就可以了。

筆者看完了官方文檔以后,總結(jié)了一下,只要值的地址沒有改變,vue是檢測(cè)不到數(shù)據(jù)變化的。

共有下面三種情況:

1.當(dāng)你利用索引直接設(shè)置一個(gè)數(shù)組項(xiàng)時(shí),例如:vm.items[indexOfItem] = newValue

2.當(dāng)你修改數(shù)組的長(zhǎng)度時(shí),例如:vm.items.length = newLength

3.由于 JavaScript 的限制,Vue不能檢測(cè)對(duì)象屬性的添加或刪除

此處針對(duì)第三點(diǎn)做一些說明:

var vm = new Vue({
  data: {
    a: 1
  }
})
// `vm.a` 現(xiàn)在是響應(yīng)式的

vm.b = 2
// `vm.b` 不是響應(yīng)式的

從上面的代碼我們可以知道vm.b不是響應(yīng)式的,簡(jiǎn)單的來說,如果對(duì)象中原來沒有這個(gè)key,新增的key是無法雙向綁定的。

當(dāng)然這里我們同樣可以用set去解決這個(gè)問題:

vm.$set(vm.userProfile, 'age', 27)

如果我們添加的屬性很多條,可能就需要寫一個(gè)循環(huán)來多次set。當(dāng)然你也可能使用Object.assign,這里有一些需要注意的地方。

如果你想添加新的響應(yīng)式屬性,下面這樣寫是不行的。

Object.assign(vm.userProfile, {
  age: 27,
  favoriteColor: 'Vue Green'
})

下面這樣才是正確的。

vm.userProfile = Object.assign({}, vm.userProfile, {
  age: 27,
  favoriteColor: 'Vue Green'
})

4、文檔地址

https://cn.vuejs.org/v2/guide/list.html#logo

請(qǐng)登錄后查看

CRMEB-慕白寒窗雪 最后編輯于2023-03-20 11:23:38

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點(diǎn)贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡(jiǎn)介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
1262
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動(dòng)態(tài) 精選推薦 首頁(yè)頭條 首頁(yè)動(dòng)態(tài) 首頁(yè)推薦
取 消 確 定
回復(fù)
回復(fù)
問題:
問題自動(dòng)獲取的帖子內(nèi)容,不準(zhǔn)確時(shí)需要手動(dòng)修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請(qǐng)輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊(cè)

切換手機(jī)號(hào)登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊(cè)
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服