在Vue methods中調用filters里的過濾器實例
更新時間:2018年08月30日 10:29:28 作者:huipo22
今天小編就為大家分享一篇在Vue methods中調用filters里的過濾器實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
需求:vue中,除了在模板中使用過濾器,有時候,methods中也需要使用filters中的過濾器,
網友hongz1125提出的解決辦法:
this.$options.filters[filter](...args) //這種方法很簡單,也很實用
下面是我的方法,有點復雜。建議使用上面網友說的方法。
filters: {
formatScore(score) {
if (score < 20) {
score = '不合格';
} else if (score >= 20 && score <= 27) {
score = '合格';
} else if (score >= 28 && score <= 31) {
score = '良好';
} else if (score > 31) {
score = '優(yōu)秀';
}
return score
}
},
methods: {
formatScore(score) {
if (score < 20) {
score = '不合格';
} else if (score >= 20 && score <= 27) {
score = '合格';
} else if (score >= 28 && score <= 31) {
score = '良好';
} else if (score > 31) {
score = '優(yōu)秀';
}
return score
},
getPhysicalResult() {
this.$http.get('/rc_ChildTest/testResult').then((res) => {
this.isDisplayIcon = this.formatScore(score參數(shù));//使用過濾器方法,需要單獨寫一個一模一樣的方法。通過this調用
})
},
},
解決方法:
1.建立一個公共的report.js文件,提取封裝公共js
export default {
formatScore(score) {
if (score < 20) {
score = '不合格';
} else if (score >= 20 && score <= 27) {
score = '合格';
} else if (score >= 28 && score <= 31) {
score = '良好';
} else if (score > 31) {
score = '優(yōu)秀';
}
return score
},
}
2.導入report.js 并使用
import report from 'js文件所在位置'
filters: {
formatScore(score) {
return report.formatScore(score);//使用導入的report.js中的report.formatScore方法
}
},
methods: {
getPhysicalResult() {
this.$http.get('/rc_ChildTest/testResult').then((res) => {
this.isDisplayIcon = report.formatScore(score參數(shù));//這里直接使用導入的report.js中的report.formatScore方法。在methods方法中可以使用過濾器中的方法。
})
},
},
我是這么解決的,大家如果還有更好的方法,希望大家寫在評論里,歡迎大家批評指正。
以上這篇在Vue methods中調用filters里的過濾器實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue通過krpano.js實現(xiàn)360全景圖的實例代碼
這篇文章主要介紹了vue上通過krpano.js實現(xiàn)360全景圖,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-10-10
Vue監(jiān)控路由與路由參數(shù), 刷新當前頁面數(shù)據的方法匯總
這篇文章主要介紹了Vue監(jiān)控路由與路由參數(shù), 刷新當前頁面數(shù)據的幾種方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-10

