lesson 134: add a function to remove a resource

This commit is contained in:
Andreas Zweili 2021-02-08 20:20:39 +01:00
parent fd72fb3209
commit cf78b35666
3 changed files with 14 additions and 3 deletions

View File

@ -3,7 +3,9 @@
<base-card>
<header>
<h3>{{ title }}</h3>
<base-button mode="flat">Delete</base-button>
<base-button mode="flat" @click="removeResource('id')"
>Delete</base-button
>
</header>
<p>{{ description }}</p>
<nav><a :href="link">View Resource</a></nav>
@ -13,7 +15,8 @@
<script>
export default {
props: ['title', 'description', 'link']
props: ['id', 'title', 'description', 'link'],
inject: ['removeResource']
};
</script>

View File

@ -3,6 +3,7 @@
<learning-resource
v-for="resource in storedResources"
:key="resource.id"
:id="resource.id"
:title="resource.title"
:description="resource.description"
:link="resource.link"

View File

@ -66,12 +66,19 @@ export default {
storeNewResource(resource) {
this.storedResources.unshift(resource);
this.selectedTab = 'stored-resources';
},
removeResource(id) {
const resourceIndex = this.storedResources.findIndex(
resource => resource.id === id
);
this.storedResources.splice(resourceIndex, 1);
}
},
provide() {
return {
storedResources: this.storedResources,
storeNewResource: this.storeNewResource
storeNewResource: this.storeNewResource,
removeResource: this.removeResource
};
}
};