91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中更改數組中屬性在頁面中不生效怎么辦

發布時間:2021-06-18 13:48:39 來源:億速云 閱讀:124 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關vue中更改數組中屬性在頁面中不生效怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

問題描述:

使用vue的方法獲取了數組數據,獲取數據后為每個數據增加edit屬性,初始值均為false,其目的是為了當點擊列表中的編輯按鈕時,控制保存與不保存的按鈕的出現與消失,結果當更改數組中的edit屬性后,頁面并沒有如預期的那樣當edit為true時頁面顯示更改狀態,當edit為false時為不更改狀態

解決方案:

edit是在通過post方法獲取數據后增加到vue的data數據中的屬性,一開始我的做法先將接收到的數據賦值到vue的data中,再對vue的data中的數據增加edit屬性,這樣在改變edit的之后,雖然在js中使用console.log可以看到該值已經發生變化,但頁面中的data值并沒有發生變化。

正確的做法應該是先為接收到的數據初始化edit屬性,再將處理后的數據賦值給vue的data。

代碼如下

<tbody>
     <tr v-for="(book,index) in bookList">
      <td>
       <span v-on:click="book.edit=true" v-show=" !book.edit">{{book.orderIndex}}</span> //如果edit屬性為false,則該span出現
       <input v-show="book.edit" /> //如果edit屬性為true,則該input出現
      </td>
      <td>
       <a v-show="book.edit" v-on:click="book.edit=false" class="btn btn-primary btn-sm"> //如果edit屬性為true,出現不保存(x)按鈕
        <i class="glyphicon glyphicon-remove" aria-hidden="true"></i>
</a>
       <a v-show="book.edit" v-on:click="save(book)" class="btn btn-primary btn-sm"> //如果edit屬性為true,出現保存(√)按鈕
        <i class="glyphicon glyphicon-ok" aria-hidden="true"></i>
       </a>
      </td>
      
     </tr>
    </tbody>

<script>

var politics = new Vue({

el:"#politics",

data:{

bookList:[]

},

methods:{

getBookList: function (offset, limit, CatalogueID, searchKey, resId) {
    this.limit = limit;
    this.offset = offset;
    this.CatalogueID = CatalogueID;
    this.searchKey = searchKey;
    this.resId = resId;
    this.$http.get("/BookAdmin/getBookList?offset=" + this.offset + "&limit=" + this.limit + "&CatalogueID=" + this.CatalogueID + "&searchKey=" + this.searchKey+"&resId="+this.resId)
     .then(function (resp) {
      resp.data.books.forEach(function (o, i) {
       o.edit = false;
      })
      this.bookList = resp.data.books; // 賦值必須寫在屬性初始化的后面,否則改edit不能使頁面屬性變化
      this.bookTotalCount = resp.data.totalCount;
      var pageNo = this.offset / this.limit + 1;
      var totalPage = Math.ceil(this.bookTotalCount / this.limit);
      
      divpager(pageNo, totalPage, this.bookTotalCount, this.CatalogueID, this.searchKey, this.resId);
     })
   }

}

})


</script>

關于“vue中更改數組中屬性在頁面中不生效怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

蓬溪县| 离岛区| 渭源县| 仙桃市| 仲巴县| 仁寿县| 法库县| 胶州市| 高平市| 万山特区| 六盘水市| 惠来县| 无极县| 永善县| 新疆| 庆安县| 延长县| 嘉兴市| 东明县| 万荣县| 兴仁县| 金昌市| 平顶山市| 彰化市| 嘉兴市| 横峰县| 普安县| 丹寨县| 济阳县| 镇平县| 琼中| 祁阳县| 东平县| 定结县| 浦县| 商河县| 南宫市| 当雄县| 利辛县| 桓台县| 潍坊市|