Vue的踩坑記錄1

2021-10-06 01:13:43 字數 1437 閱讀 4163

在做乙個後台管理系統的時候,做了乙個過濾器,使用filter做的,**如下:

data()

;},computed:)}

},

這樣看起來應該是沒有什麼問題的,我的輸入框已經雙向繫結好了filterdata,首先說明,是可以進行篩選的,功能正常,問題來了,當我需要在某tabledata裡寫入引數傳到後台的跟新資料的時候開始出大問題,下面是寫入資料的方法

addproduct()

; that.tabledata.

push

(that.form)

; that.

axios(,

url:that.

global

.base_url

.admin+

'/product'

, withcredentials:

true})

.then

(that.addproductsucc)

.catch

(response =>})

},addproductsucc

(res)

else

},

這裡可以看報錯資訊

就很莫名其妙的說我的tostring()找不到,,我也不知道為什麼,如果去了tostring(),就會變成indexof()找不到,知道專案結束我也不知道為什麼,上網也找不到答案,所以希望看到的大佬可以給我稍微解答一下

所以只能通過其他的方法了,但是還是沒想出比filter更好的方法,所以就改了思路

computed:)}

)}return

this

.tabledata

}},

雖然依舊是使用了filter,但是先用some()來檢測陣列中的元素是否滿足指定條件,因為some()會依次執行陣列的每個元素如果有乙個元素滿足條件,則表示式返回true , 剩餘的元素不會再執行檢測,如果沒有滿足條件的元素,則返回false,功能有點像filter,然後在利用indexof對陣列進行匹配,但是indexof方法對大小寫敏感所以用tolowercase方法全部變成小寫再匹配,然後就不會再報錯了

根據兩個的區別,我大概做了乙個分析,當然不知道對不對,如果有大佬認為我的想法錯了,希望可以指正一下

就是過濾器已經和el-table的:data繫結了,el-input的內容與filterdata繫結,然後當新增資料的時候,因為filterdata沒有任何資料,所以進到函式裡的「list.id.tostring().indexof(that.filterdata) !== -1」時候,會發現filterdata是空值,但是filter是不會檢測空陣列的,所以就會導致錯誤,這只是我的猜測,我也沒有依據,希望以後學習到更多的知識的時候能夠解決這個問題

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踩坑記錄

一.使用import匯入外部js檔案,呼叫方法undefined 錯誤寫法 import from common js date.js console.log this.formatdate 原因 this表示vue的例項,並沒有這個方法,正確呼叫為不需要this import from commo...