diff --git a/2021-03-27_routing-01-starting-setup/src/components/teams/TeamMembers.vue b/2021-03-27_routing-01-starting-setup/src/components/teams/TeamMembers.vue index 6537a7a..141c7b2 100644 --- a/2021-03-27_routing-01-starting-setup/src/components/teams/TeamMembers.vue +++ b/2021-03-27_routing-01-starting-setup/src/components/teams/TeamMembers.vue @@ -17,6 +17,7 @@ import UserItem from '../users/UserItem.vue'; export default { inject: ['teams', 'users'], + props: ['teamId'], components: { UserItem }, @@ -26,17 +27,26 @@ export default { members: [] }; }, - created() { - const teamId = this.$route.params.teamId; - const selectedTeam = this.teams.find(team => team.id === teamId); - const members = selectedTeam.members; - const selectedMembers = []; - for (const member of members) { - const selectedUser = this.users.find(user => user.id === member); - selectedMembers.push(selectedUser); + methods: { + loadTeamMembers(teamId) { + const selectedTeam = this.teams.find(team => team.id === teamId); + const members = selectedTeam.members; + const selectedMembers = []; + for (const member of members) { + const selectedUser = this.users.find(user => user.id === member); + selectedMembers.push(selectedUser); + } + this.members = selectedMembers; + this.teamName = selectedTeam.name; + } + }, + created() { + this.loadTeamMembers(this.teamId); + }, + watch: { + teamId(newId) { + this.loadTeamMembers(newId); } - this.members = selectedMembers; - this.teamName = selectedTeam.name; } }; diff --git a/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsItem.vue b/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsItem.vue index d6708ac..d99f6d3 100644 --- a/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsItem.vue +++ b/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsItem.vue @@ -2,13 +2,13 @@
  • {{ name }}

    {{ memberCount }} Members
    - View Members + View Members
  • @@ -41,4 +41,4 @@ a:hover, a:active { background-color: #220a8d; } - \ No newline at end of file + diff --git a/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsList.vue b/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsList.vue index 719d549..5f25245 100644 --- a/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsList.vue +++ b/2021-03-27_routing-01-starting-setup/src/components/teams/TeamsList.vue @@ -3,6 +3,7 @@ @@ -14,9 +15,9 @@ import TeamsItem from './TeamsItem.vue'; export default { components: { - TeamsItem, + TeamsItem }, - inject: ['teams'], + inject: ['teams'] }; @@ -27,4 +28,4 @@ ul { max-width: 40rem; padding: 0; } - \ No newline at end of file + diff --git a/2021-03-27_routing-01-starting-setup/src/main.js b/2021-03-27_routing-01-starting-setup/src/main.js index 15dcf70..e1fe1f3 100644 --- a/2021-03-27_routing-01-starting-setup/src/main.js +++ b/2021-03-27_routing-01-starting-setup/src/main.js @@ -14,7 +14,7 @@ const router = createRouter({ { path: '/', component: TeamsList }, { path: '/teams', component: TeamsList }, { path: '/users', component: UsersList }, - { path: '/teams/:teamId', component: TeamMembers } + { path: '/teams/:teamId', component: TeamMembers, props: true } ] });