成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

記錄vue不能檢測(cè)數(shù)組和對(duì)象變動(dòng)的方法。

Clect / 2207人閱讀

摘要:當(dāng)然按照官方文檔的解釋,檢測(cè)不到的主要問題是導(dǎo)致的。下列代碼,是解決數(shù)組檢測(cè)不到的問題。

測(cè)試數(shù)據(jù):

  items: [
    {name: "業(yè)務(wù)狀態(tài)", id: "taskState", data: [{name:"全部", id: 0},{name:"進(jìn)行中", id: 1},{name:"已完成", id: 2},{name:"已歸檔", id: 3},{name:"已終止", id: 4}]},
    {name: "業(yè)務(wù)狀態(tài)", id: "taskState", data: [{name:"全部", id: 0},{name:"進(jìn)行中", id: 1},{name:"已完成", id: 2},{name:"已歸檔", id: 3},{name:"已終止", id: 4}]},
    {name: "業(yè)務(wù)狀態(tài)", id: "taskState", data: [{name:"全部", id: 0},{name:"進(jìn)行中", id: 1},{name:"已完成", id: 2},{name:"已歸檔", id: 3},{name:"已終止", id: 4}]},
    {name: "業(yè)務(wù)狀態(tài)", id: "taskState", data: [{name:"全部", id: 0},{name:"進(jìn)行中", id: 1},{name:"已完成", id: 2},{name:"已歸檔", id: 3},{name:"已終止", id: 4}]},
  ]

難點(diǎn):

items是個(gè)數(shù)組,里面嵌套著許多層對(duì)象。當(dāng)然數(shù)據(jù)是不一樣的,我這里只是舉例說明。

這里面存在著二個(gè)難點(diǎn),第一,直接改變items數(shù)量,vue是檢測(cè)不到的。第二,增加items[i]里的對(duì)象屬性。vue也是檢測(cè)不到。

當(dāng)然按照vue官方文檔的解釋,檢測(cè)不到的主要問題是JavaScript導(dǎo)致的。(尤雨溪大佬你說的算)

代碼:

// 解決辦法    
this.$set(this.items, 0, Object.assign({}, this.items[0], { active: 0, defaultActive: 0 }))

// 實(shí)際應(yīng)用
this.items.forEach((r, row) => { // 變量數(shù)組,給每個(gè)對(duì)象附上默認(rèn)值
    this.$set(this.items, row, Object.assign({}, this.items[row], {
      thisActive: r.thisActive ? r.thisActive : 0,
      defaultActive: r.defaultActive ? r.defaultActive : 0,
      data: r.data ? r.data : [],
      pageIndex: r.pageIndex ? r.pageIndex : 1,
      pageSize: r.pageSize ? r.pageSize : 20,
      options: r.options ? r.options : {scrollbar: true, pullUpLoad: true},
      ref: r.ref ? r.ref : "scroll" + row
    }))
})

這里解釋一下,下列代碼,是解決對(duì)象不能檢測(cè)的問題,這里是一次性添加多個(gè)屬性的方法。

let test = Object.assign({}, this.items[0], { active: 0, defaultActive: 0 })

下列代碼,是解決數(shù)組檢測(cè)不到的問題。(對(duì)象也可以用這個(gè)方法)
index--索引 "age"|| 13 分別代表對(duì)象里的 鍵||值

this.$set(this.items, index, test)) // 數(shù)組方法
this.$set(this.items[index], "age", 13)) // 對(duì)象方法

以上解決方法代碼,來自vue官方文檔鏈接描述, 看不懂就自己按照文檔的去敲一下。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/102521.html

相關(guān)文章

  • 記一次思否問答問題思考:Vue為什么不能檢測(cè)數(shù)組變動(dòng)

    摘要:這里加了個(gè)簡(jiǎn)單判斷,只看數(shù)組元素的,然后寫了一個(gè)簡(jiǎn)單案例,主要測(cè)試使用改變數(shù)組元素能不能被監(jiān)測(cè)到,并響應(yīng)式的渲染頁(yè)面運(yùn)行頁(yè)面可以看到,運(yùn)行了次,我們數(shù)組長(zhǎng)度為,也就是說數(shù)組被遍歷了兩遍。 問題來源:https://segmentfault.com/q/10... 問題描述:Vue檢測(cè)數(shù)據(jù)的變動(dòng)是通過Object.defineProperty實(shí)現(xiàn)的,所以無法監(jiān)聽數(shù)組的添加操作是可以理解的...

    raoyi 評(píng)論0 收藏0
  • vue 關(guān)于數(shù)組對(duì)象更新

    摘要:在日常開發(fā)中,我們用的最多的就是綁定數(shù)據(jù)內(nèi)容如果你有的開發(fā)經(jīng)驗(yàn),假設(shè)你要更新數(shù)據(jù)了但是這在中并不會(huì)起到作用,并沒有觸發(fā)變化。如果對(duì)您有幫助請(qǐng)動(dòng)動(dòng)鼠標(biāo)右下方給我來個(gè)贊,您的支持是我最大的動(dòng)力。在日常開發(fā)中,我們用的最多的就是 綁定數(shù)據(jù) 如果你有ng的開發(fā)經(jīng)驗(yàn),假設(shè) data 你要更新數(shù)據(jù)了 this.data=res.data; 但是這在vue中 并不會(huì)起到作用,DOM并沒有觸發(fā)變化。 ...

    番茄西紅柿 評(píng)論0 收藏0
  • vue總結(jié)系列--數(shù)據(jù)驅(qū)動(dòng)響應(yīng)式

    摘要:由于是需要兼容的后臺(tái)系統(tǒng),該項(xiàng)目并不能使用到等技術(shù),因此我在上的經(jīng)驗(yàn)大都是使用原生的編寫的,可以看見一個(gè)組件分為兩部分視圖部分,和數(shù)據(jù)部分。 在公司里幫項(xiàng)目組里開發(fā)后臺(tái)系統(tǒng)的前端項(xiàng)目也有一段時(shí)間了。 vue這種數(shù)據(jù)驅(qū)動(dòng),組件化的框架和react很像,從一開始的快速上手基本的開發(fā),到后來開始自定義組件,對(duì)element UI的組件二次封裝以滿足項(xiàng)目需求,期間也是踩了不少坑。由于將來很長(zhǎng)一...

    AbnerMing 評(píng)論0 收藏0
  • 數(shù)組入手淺析Vue響應(yīng)式原理

    摘要:響應(yīng)式原理為了探究這一切的原因,我再次點(diǎn)開了的官網(wǎng)。在官網(wǎng)很下面的位置,找到了關(guān)于響應(yīng)式原理的說明。因此,新添加到數(shù)組中的對(duì)象中的屬性,就成了非響應(yīng)式的屬性了,改變它自然不會(huì)讓組件重新渲染。響應(yīng)式屬性的對(duì)象,有這個(gè)對(duì)象就代表是響應(yīng)式的。 ??最近在用Vue開發(fā)一個(gè)后臺(tái)管理的demo,有一個(gè)非常常規(guī)的需求。然而這個(gè)常規(guī)的需求中,包含了大量的知識(shí)點(diǎn)。有一個(gè)產(chǎn)品表格,用來顯示不同產(chǎn)品的信息。...

    dkzwm 評(píng)論0 收藏0
  • vue框架基本原理,簡(jiǎn)單實(shí)現(xiàn)一個(gè)todo-list

    摘要:前言最近在學(xué)習(xí)框架的基本原理,看了一些技術(shù)博客以及一些對(duì)源碼的簡(jiǎn)單實(shí)現(xiàn),對(duì)數(shù)據(jù)代理數(shù)據(jù)劫持模板解析變異數(shù)組方法雙向綁定有了更深的理解。 前言 最近在學(xué)習(xí)vue框架的基本原理,看了一些技術(shù)博客以及一些對(duì)vue源碼的簡(jiǎn)單實(shí)現(xiàn),對(duì)數(shù)據(jù)代理、數(shù)據(jù)劫持、模板解析、變異數(shù)組方法、雙向綁定有了更深的理解。于是乎,嘗試著去實(shí)踐自己學(xué)到的知識(shí),用vue的一些基本原理實(shí)現(xiàn)一個(gè)簡(jiǎn)單的todo-list,完成...

    Karrdy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<