最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue更新數據卻不渲染頁面的解決

 更新時間:2022年08月12日 10:07:30   作者:自信酷  
這篇文章主要介紹了vue更新數據卻不渲染頁面的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue更新數據卻不渲染頁面

1.Vue不能檢測通過數組索引直接修改一個數組項

原因:由于JavaScript的限制,Vue不能檢測數組和對象的變化

解決辦法:

this.$set(arr,index,newVal)

2.選擇功能選中時賦值了,但沒渲染頁面

場景:

 

點擊這個沒有顯示“√”

解決辦法:

checkClick (item) {
    item.check =! item.check;
    this.$forceUpdate() 
},

聽說循環(huán)數據更新的層級太深,導致數據不更新,從而導致視圖不更新,用上面可以解決,但我沒遇到過這種情況,請查看Vue.js官方

3.路由參數變化時

頁面不更新,本質上就是數據沒有更新

原因:路由視圖組件引用了相同組件時,當路由參數變化時,會導致該組件無法更新。

解決辦法:

通過watch監(jiān)聽$route的變化

watch: {
    '$route': function() {
 
     }
}

4.在異步更新執(zhí)行之前操作DOM數據不會變化

原因:Vue在更新DOM時是異步執(zhí)行。

只要偵聽到數據變化,Vue將開啟一個隊列,并緩沖在同一個事件循環(huán)中發(fā)生的所有數據變更。

如果同一個 watcher 被多次觸發(fā),只會被推入到隊列中一次。

這種在緩沖時去除重復數據對于避免不必要的計算和 DOM 操作是非常重要的。

然后,在下一個的事件循環(huán)“nextTick”中,Vue 刷新隊列并執(zhí)行實際 (已去重的) 工作。

解決辦法:

this.$nextTick(function(){ })

5.獲取后臺返回的數組進行排序處理了,頁面內容卻不排序

 原因:顯示的元素不會動

解決辦法:

使用v-if先隱藏元素,更新的數組排序處理好了,才顯示元素

vue頁面的渲染過程

首先vue會找到webpack的打包配置文件。在build/webpack.base.conf.js下:在這里,定義了vue的程序入口文件

vue加載時文件的執(zhí)行順序

  • 執(zhí)行index.html文件
  • 執(zhí)行main.js文件
  • main.js掛載了app.vue文件,用app.vue的templete替換index.html中的
  • main.js中注入了路由文件,將對應的組件渲染到router-view中
  • router-view中加載Layout文件
  • Layout 加載Navbar, Sidebar, AppMain

vue內部頁面的執(zhí)行順序

Vue 推薦在絕大多數情況下使用 template 來創(chuàng)建你的 HTML。但是模板畢竟是模板,不是真實的dom節(jié)點。從模板到真實dom節(jié)點還需要經過一些步驟

  • 把模板編譯為render函數
  • 實例進行掛載, 根據根節(jié)點render函數的調用,遞歸的生成虛擬dom
  • 對比虛擬dom,渲染到真實dom

組件內部data發(fā)生變化,組件和子組件引用data作為props重新調用render函數,生成虛擬dom, 返回到步驟3

一. 模板到render

// App.vue 
<template>
    <div>
        hello word
    </div>
</template>
<script>
export default {
}
</script>
<style>
</style>

vue中各選項及鉤子函數執(zhí)行順序

在頁面首次加載執(zhí)行順序有如下:

  • beforeCreate //在實例初始化之后、創(chuàng)建之前執(zhí)行
  • created //實例創(chuàng)建后執(zhí)行
  • beforeMounted //在掛載開始之前調用
  • filters //掛載前加載過濾器
  • computed //計算屬性
  • directives-bind //只調用一次,在指令第一次綁定到元素時調用
  • directives-inserted //被綁定元素插入父節(jié)點時調用
  • activated //keek-alive組件被激活時調用,則在keep-alive包裹的嵌套的子組件中觸發(fā)
  • mounted //掛載完成后調用
  • {{}} //mustache表達式渲染頁面

修改頁面input時,被自動調用的選項順序如下:

  • watch //首先先監(jiān)聽到了改變事件
  • filters //過濾器沒有添加在該input元素上,但是也被調用了
  • beforeUpdate //數據更新時調用,發(fā)生在虛擬dom打補丁前
  • directived-update //指令所在的組件的vNode更新時調用,但可能發(fā)生在其子vNode更新前
  • directives-componentUpdated //指令所在的組件的vNode及其子組件的vNode全部更新后調用updated //組件dom已經更新

組件銷毀時,執(zhí)行順序如下:

  • beforeDestroy //實例銷毀之前調用
  • directives-unbind //指令與元素解綁時調用,只調用一次
  • deactivated //keep-alive組件停用時調用
  • destroyed //實例銷毀之后調用

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

相關文章

  • 淺談Vue的雙向綁定和單向數據流沖突嗎

    淺談Vue的雙向綁定和單向數據流沖突嗎

    單項數據流和雙向數據綁定的概念,這兩種不是相互沖突的嗎?即然能用v-model雙向數據綁定,不應該就是雙向數據流了嗎?本文就詳細的介紹一下
    2022-04-04
  • el-input限制輸入正整數的兩種實現方式

    el-input限制輸入正整數的兩種實現方式

    el-input框是Element UI庫中的一個輸入框組件,用于接收用戶的輸入,這篇文章主要介紹了el-input限制輸入正整數,需要的朋友可以參考下
    2024-02-02
  • elementUI實現下拉選項加多選框的示例代碼

    elementUI實現下拉選項加多選框的示例代碼

    因產品需求和UI樣式調整,本文主要實現elementUI下拉選項加多選框的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue.config.js完整配置教程

    vue.config.js完整配置教程

    這篇文章主要為大家介紹了vue.config.js的完整配置教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Vue項目中實現ElementUI按需引入過程解析

    Vue項目中實現ElementUI按需引入過程解析

    這篇文章主要介紹了Vue項目中實現ElementUI按需引入,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Vue.js基礎知識匯總

    Vue.js基礎知識匯總

    Vue.js 專注于 MVVM 模型的 ViewModel 層。它通過雙向數據綁定把 View 層和 Model 層連接了起來。Vue.js和其他庫相比是一個小而美的庫,作者的主要目的是通過一個盡量簡單的 API 產生可反映的數據綁定和可組合的視圖組件,感覺作者的思路非常清晰。
    2016-04-04
  • elementui中el-input回車搜索實現示例

    elementui中el-input回車搜索實現示例

    這篇文章主要介紹了elementui中el-input回車搜索實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • vue2結合element-ui的gantt圖實現可拖拽甘特圖

    vue2結合element-ui的gantt圖實現可拖拽甘特圖

    因為工作中要用到甘特圖,所以我在網上搜索可以用的甘特圖,搜索了好多,但是網上搜到大多數都很雞肋,不能直接使用,下面這篇文章主要給大家介紹了關于vue2結合element-ui的gantt圖實現可拖拽甘特圖的相關資料,需要的朋友可以參考下
    2022-11-11
  • vue實現自定義多選與單選的答題功能

    vue實現自定義多選與單選的答題功能

    這篇文章主要介紹了使用vue實現自定義多選與單選的答題功能,vue組件中在表單方面提供了一個v-model指令,非常好用,具體實現過程大家跟隨腳本之家小編一起看看吧
    2018-07-07
  • Vue通過字符串關鍵字符實現動態(tài)渲染input輸入框

    Vue通過字符串關鍵字符實現動態(tài)渲染input輸入框

    這篇文章主要為大家詳細介紹了Vue如何通過字符串關鍵字符實現動態(tài)渲染input輸入框。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-12-12

最新評論

景德镇市| 井陉县| 古丈县| 师宗县| 南通市| 天柱县| 德兴市| 剑川县| 望奎县| 岳阳县| 瓮安县| 中卫市| 宝丰县| 乌苏市| 黎川县| 进贤县| 梁山县| 喀什市| 乌拉特前旗| 霍林郭勒市| 孙吴县| 湖州市| 沛县| 姜堰市| 宣汉县| 西安市| 日喀则市| 新疆| 旬邑县| 开阳县| 莆田市| 隆昌县| 上蔡县| 辽中县| 桓仁| 介休市| 米脂县| 原阳县| 澳门| 定襄县| 奉化市|