Ich bin sehr neu bei Vue js. Ich muss die von der folgenden Funktion zurückgegebenen Werte in Zeilen in einer Tabelle rendern:
Die Funktion ist:
getGroup(id){ this.users.forEach(element =>{ if(element.id===id) return element.group.group_name; }); }
Der HTML-Tag in der Vorlage lautet:
<td>{{ getGroup(ticket.assignee.assignee_id) }}</td>
Allerdings wird in der entsprechenden Zeile dieser Spalte nichts gerendert. Wie kann ich die in diesen Zeilen zurückgegebenen Werte anzeigen?
Vollständiger Code hier:
<template> <div class="p-10"> <table> <thead> <tr> <th class="p-5">Subject</th> <th class="p-5">Requester</th> <th class="p-5">Requested</th> <th class="p-5">Type</th> <th class="p-5">Priority</th> <th class="p-5">Group</th> <th class="p-5">Updated</th> <th class="p-5">Assignee</th> <th class="p-5">Cause of suspention</th> </tr> </thead> <tbody> <tr v-for="ticket in tickets" :key="ticket.id"> <td>{{ ticket.subject }}</td> <td>{{ ticket.requester }}</td> <td>{{ ticket.requested }}</td> <td>{{ ticket.type }}</td> <td>{{ ticket.priority }}</td> <td>{{ getGroup(ticket.assignee.assignee_id) }}</td> <td>{{ ticket.updated }}</td> <td>{{ ticket.assignee.assignee_name }}</td> <td>{{ ticket.suspension_cause }}</td> </tr> </tbody> </table> </div>
<script> import usersData from '../assets/users_data.json' import ticketsData from '../assets/tickets_data.json' export default { name: 'ViewTicket', data() { return { users:[], tickets:[], group: '' } }, methods:{ getData(){ setTimeout(function(){this.users=usersData;}.bind(this),1000); setTimeout(function(){this.tickets=ticketsData;}.bind(this),1000); }, getGroup(id){ this.users.forEach(element =>{ if(element.id===id) return element.group.group_name; }); } }, created:function(){ this.getData(); }, }; </script>
Screenshot des gerenderten Inhalts: Klicken Sie hier
尝试查找并返回用户组: