Estoy codificando la función para ver los detalles de la facultad y muestra el número de especializaciones de esa facultad. No sé cómo contar los arreglos principales con v-if y v-for. Por favor, ayúdame a arreglar eso. Muchas gracias.
Etiqueta de plantilla
<tr> <td>Sumary: <strong v-for="major in majors"> <strong v-if="form.faculty_code==majors.major_faculty"> {{ major }} </strong> </strong> </td> </tr>Etiqueta de secuencia de comandos
data() { return { faculties:[], majors:[], form: new Form({ faculty_id:'', faculty_code:'', faculty_name:'', faculty_status: '', }), }; }, mounted() { this.fetchMajors(); this.fetchFaculties(); }, methods: { fetchFaculties(page_url) { let vm = this; page_url = '../../api/admin/edu-faculty/faculty/'+this.currentEntries+'?page='+this.pagination.current_page; fetch(page_url) .then(res => res.json()) .then(res => { this.faculties = res.data; this.pagination = res.meta; }) .catch(err => console.log(err)); }, fetchMajors(page_url) { let vm = this; page_url = '../../api/admin/edu-major/chuyen-nganh/major'; fetch(page_url) .then(res => res.json()) .then(res => { this.majors = res.data; }) .catch(err => console.log(err)); }, }Para obtener solo la cantidad de especializaciones con el código de facultad dado, puede usar en su función montada ()
this.total.majors = 0; this.majors.forEach((element) => { element.major_faculty == this.faculty_code ? this.total_majors += 1 : "" });Gracias por mirar y ayudarme. He encontrado la solución para esto.
Etiqueta de plantilla
<tr> <td>Sumary: <strong> {{ countA.length }} </strong> </td>Etiqueta de secuencia de comandos
computed: { countA() { return this.majors.filter(major => major.major_faculty==this.form.faculty_code); } },