lesson 131: replace emit with inject
this is better because we're using dynamic components which makes it harder to listen to a custom event comming from only one of the components.
This commit is contained in:
parent
d50e8d870e
commit
327f4133c3
|
@ -27,7 +27,7 @@
|
|||
|
||||
<script>
|
||||
export default {
|
||||
emits: ['new-resource'],
|
||||
inject: ['storeNewResource'],
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
|
@ -38,12 +38,12 @@ export default {
|
|||
methods: {
|
||||
returnNewResource() {
|
||||
const resource = {
|
||||
id: this.title,
|
||||
id: new Date().toISOString(),
|
||||
title: this.title,
|
||||
description: this.description,
|
||||
link: this.link
|
||||
};
|
||||
this.$emit('new-resource', resource);
|
||||
this.storeNewResource(resource);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
>Add Resource</base-button
|
||||
>
|
||||
</base-card>
|
||||
<component :is="selectedTab" @new-resource="storeNewResource"></component>
|
||||
<component :is="selectedTab"></component>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
@ -62,13 +62,14 @@ export default {
|
|||
this.selectedTab = tab;
|
||||
},
|
||||
storeNewResource(resource) {
|
||||
this.storedResources.push(resource);
|
||||
this.storedResources.unshift(resource);
|
||||
this.selectedTab = 'stored-resources';
|
||||
}
|
||||
},
|
||||
provide() {
|
||||
return {
|
||||
storedResources: this.storedResources
|
||||
storedResources: this.storedResources,
|
||||
storeNewResource: this.storeNewResource
|
||||
};
|
||||
}
|
||||
};
|
||||
|
|
Reference in New Issue