您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“vue過濾器filters獲取不到this對象怎么辦”,內容詳細,步驟清晰,細節處理妥當,希望這篇“vue過濾器filters獲取不到this對象怎么辦”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
在data中定義一個屬性that,把this存儲到that中
在調用filters中的方法sum的時候將that傳進去即可
用filters計算data中 a+b 的值
注意:filters中的sum方法的第一個參數是|左邊那個a,第二個參數才是括號寫的that
<template> <div>{{a|sum(that)}}</div> </template> <script> export default { name: "test", data() { return { that: this, a: 1, b: 2 } }, filters: { sum(a, that) { console.log(that); return a + that.b; } }, } </script>
所以在filter中無法直接訪問當前vue實例, 所以可以使用computed替代。
可是當遇到需要根據html文本改變,v-for的數據等情況而改變時,computed的功能就無法滿足我們的需求了。
那我們就可以使用methods代替
data: { shopItemType: {} }, methods: { shopItemType2str(id){ return this.shopItemType[id]; } }
<tr v-for="shopItem in shopItems"> <td>{{shopItemType2str(shopItem.item_type)}}</td> </tr>
讀到這里,這篇“vue過濾器filters獲取不到this對象怎么辦”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。