Vue踩坑記錄

2022-08-21 16:15:13 字數 1579 閱讀 1626

一. 使用import匯入外部js檔案,呼叫方法undefined

錯誤寫法

import  from

"@/common/js/date.js";

console.log(

this.formatdate)

原因:this表示vue的例項,並沒有這個方法,正確呼叫為不需要this

import  from

"@/common/js/date.js";

console.log(formatdate)

二. 使用v-html渲染的頁面,css樣式不生效

解決方法有2個:

1、scoped屬性導致css僅對當前元件生效(用css3的屬性選擇器+生成的隨機屬性實現的),而html繫結渲染出的內容可以理解為是子元件的內容,子元件不會被加上對應的屬性,所以不會應用css.解決的話把scoped屬性去掉就行了。

2、另外一種常用的方法利用vue的深度作用選擇器。要為v-html渲染出中的標籤新增css樣式,我們需要在寫樣式的時候新增》就可以搞定了,如下:

.content >>> img
如果使用方法2,是不能用less或者scss,需要使用css語法,否則會報錯

3. 如果要使用less或者scss語法將》換成/deep/即可使用(vue3.0不可使用,vue3.0使用::v-deep效果都一樣) 

三. 當使用vue的v-for中的key值繫結,不能使用index進行key值繫結,會出錯也不能起到vue的演算法作用,key值要不使用index且要試用唯一id進行繫結

使用index進行key值繫結,出錯示例,當刪除for迴圈頂部元素:下面乙個元素會復用第乙個元素值,然後就出錯了

刪除後出錯資料示例圖,有些資料被復用了:

四. 使用vscode,vue進行開發,在使用@引入src下某個目錄下檔案的時候,不出現路徑智慧型提示;ctrl+左鍵點選跳不能轉開啟到檔案所在目錄。

解決辦法:專案根目錄下新增jsconfig.json檔案,配置如下

},

"exclude": ["node_modules", "dist"]

}

key 屬性是用來 給vue 元素渲染的時候用的,每次渲染的時候會去拿這個key 值做對比,如果這一次的key 值和上一次的key值是不一樣的才會重新渲染dom 元素,否則保持上一次的元素狀態。

當key變化後,created() 生命週期函式每次都會執行,重新生成dom 元素。

六. 使用axios上傳檔案,需要利用原生form表單物件

export const uploadfile = file =>

};axios.post("/upload", param, config).then(res =>);

};

Vue踩坑記錄

解決方法如下 第一步 在靜態檔案下引入我們要更換的的 第二步 在index.html檔案中新增這樣一段 icon href static logo.png type image x icon shortcut icon href static logo.png type image x icon 展...

Vue踩坑記錄

官方文件沒有宣告元件名必須全小寫 vue.component my component name 但是我的第乙個vue元件踩了這個坑 hello,melodyjerry 錯誤顯示 hello,melodyjerry 正確顯示,應該是 this is a vue component.呼叫compute...

Vue踩坑記錄冊

1 vue cli webpack專案 修改專案名稱 解決辦法 1 刪除 node modules 資料夾 如果修改專案名稱,需要在在package.json中修改對應的name 2 重新安裝依賴 cnpm install 3 啟動專案 cnpm run dev 2 mock 資料模擬 解決方法 1...