亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue修改數(shù)據(jù)頁面無效的解決方案

 更新時間:2022年06月22日 14:55:55   作者:旺仔蘿卜  
這篇文章主要介紹了vue修改數(shù)據(jù)頁面無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue修改數(shù)據(jù)頁面無效

項目開發(fā)的過程中,經(jīng)常會遇到這種情況:為data中的某一個對象添加一個屬性。

如下案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <button @click="addAttribute()">添加屬性方法</button>  
        <p>student屬性顯示在下面</p>
        <ul>
            <li v-for="item in student">{{item}}</li>
        </ul>
    </div>
    <script src="./js/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                student: {
                    name: 'zdx'
                }
            },
            methods: {
                addAttribute() {   
                    this.student.age = 18;    //為student對象添加屬性
                    console.log(this.student);
                }
            }
        })
    </script>
</body>
</html>

原因是由于受JavaScript的限制,vue.js不能監(jiān)聽對象屬性的添加和刪除,因為在vue組件初始化的過程中,會調(diào)用getter和setter方法,所以該屬性必須是存在在data中,視圖層才會響應(yīng)該數(shù)據(jù)的變化,針對這個問題

有兩種解決方案

1.this.$set(obj, key, value) 或 vue.set(obj, key, value)

methods: {
    addAttribute() {
        // this.student.age = 18;
        this.$set(this.student, 'age', 18);
        console.log(this.student);
    }
}

2.Object.assign(target, sources)

 methods: {
      addAttribute() {
          // this.student.age = 18;
          // this.$set(this.student, 'age', 18);
          this.student.age = 18;
          this.student = Object.assign({}, this.student);
          console.log(this.student);
      }
  }

更改數(shù)據(jù)后頁面不刷新的問題

今天遇到的,通過v-if控制標簽切換效果,出現(xiàn)沒任何反應(yīng)的情況。檢測數(shù)據(jù)正常,只是頁面沒有渲染。

查了很多資料因為數(shù)據(jù)層次太多,render函數(shù)沒有自動更新,需手動強制刷新。

通過

this.$forceUpdate();

強制刷新即可

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

相關(guān)文章

  • vue通信方式EventBus的實現(xiàn)代碼詳解

    vue通信方式EventBus的實現(xiàn)代碼詳解

    這篇文章主要介紹了vue通信方法EventBus的實現(xiàn)代碼,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • vant遇到van-sidebar數(shù)據(jù)超出不能滑動的問題

    vant遇到van-sidebar數(shù)據(jù)超出不能滑動的問題

    這篇文章主要介紹了vant遇到van-sidebar數(shù)據(jù)超出不能滑動的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue不用window的方式如何刷新當前頁面

    vue不用window的方式如何刷新當前頁面

    這篇文章主要介紹了vue不用window的方式如何刷新當前頁面,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue中如何去掉空格的方法實現(xiàn)

    vue中如何去掉空格的方法實現(xiàn)

    這篇文章主要介紹了vue中如何去掉空格的方法實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue.js 添加 fastclick的支持方法

    vue.js 添加 fastclick的支持方法

    今天小編就為大家分享一篇vue.js 添加 fastclick的支持方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 基于vue實現(xiàn)swipe分頁組件實例

    基于vue實現(xiàn)swipe分頁組件實例

    本篇文章主要介紹了基于vue實現(xiàn)swipe分頁組件實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • vue利用openlayers加載天地圖和高德地圖

    vue利用openlayers加載天地圖和高德地圖

    這篇文章主要介紹了?vue利用openlayers加載天地圖和高德地圖,下文章主要由兩部分完成openlayers加載天地圖和加載高德地圖,下面來看看詳細內(nèi)容吧,需要的朋友可以參考一下,希望對大家有所幫助
    2021-11-11
  • Vue項目中如何引入本地第三方JS庫

    Vue項目中如何引入本地第三方JS庫

    vue中常遇到第三方j(luò)s,這篇文章主要給大家介紹了關(guān)于Vue項目中如何引入本地第三方JS庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 如何使用 Vuex的入門教程

    如何使用 Vuex的入門教程

    在vue中當我們管理數(shù)據(jù)的時候比較亂,我們要用到下面的這個庫,本文主要介紹了如何使用 Vuex的入門教程,具有一定的參考價值,感興趣的可以了解一下
    2022-02-02
  • Vue 讀取HTMLCollection列表的length為0問題

    Vue 讀取HTMLCollection列表的length為0問題

    這篇文章主要介紹了Vue 讀取HTMLCollection列表的length為0問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論