我想翻譯標題<h2>{{$t('vue.' key.replace('contract_data.',''))}} :</h2>和訊息<li>{{error}}</li>,我的同事告訴我在 vuejs 中將所有轉換為方法,但我不知道該怎么做。這是我的代碼:
<div v-if="getError">
<div v-for="(_errors, key) in getError">
<b-alert
v-for="error in _errors"
show
variant="danger"
>
<h2>{{ $t('vue.' key.replace('contract_data.','')) }} :</h2>
<li>{{ error }}</li>
</b-alert>
</div>
</div>
uj5u.com熱心網友回復:
您的同事想要的是您將 HTML 中的邏輯提取到 Javascript。
要解決此問題,您的代碼可能如下所示:
template
<div v-if="getError">
<div v-for="(_errors, key) in getError">
<b-alert
v-for="error in _errors"
show
variant="danger"
>
<h2>{{ formatKey(key) }} :</h2>
<li>{{ error }}</li>
</b-alert>
</div>
</div>
script
export default {
methods: {
formatKey (key) {
return this.$t('vue.' key.replace('contract_data.', ''))
}
}
}
獎勵:從個人的角度來看,我建議key為您的v-for指令添加一個屬性。(檔案:https : //vuejs.org/v2/guide/list.html#Maintaining-State)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/385877.html
