Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

104
Views
How to transform this to a function in vuejs

I want to translate the title <h2>{{$t('vue.'+key.replace('contract_data.',''))}} :</h2> and messages <li>{{error}}</li>, my collegue tell me that transform all into a methods in vuejs but i don't know how to do. this is my code:

<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>
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

What your colleague wants is that you extract the logic from the HTML to Javascript.

To solve this problem, your code could look like that:

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.', ''))
    }
  }
}

Bonus: From a personal stand point I would suggest to add a key attribute to your v-for directives. (Doc: https://vuejs.org/v2/guide/list.html#Maintaining-State)

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!