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>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
emits: ['new-resource'],
|
inject: ['storeNewResource'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '',
|
title: '',
|
||||||
|
@ -38,12 +38,12 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
returnNewResource() {
|
returnNewResource() {
|
||||||
const resource = {
|
const resource = {
|
||||||
id: this.title,
|
id: new Date().toISOString(),
|
||||||
title: this.title,
|
title: this.title,
|
||||||
description: this.description,
|
description: this.description,
|
||||||
link: this.link
|
link: this.link
|
||||||
};
|
};
|
||||||
this.$emit('new-resource', resource);
|
this.storeNewResource(resource);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
>Add Resource</base-button
|
>Add Resource</base-button
|
||||||
>
|
>
|
||||||
</base-card>
|
</base-card>
|
||||||
<component :is="selectedTab" @new-resource="storeNewResource"></component>
|
<component :is="selectedTab"></component>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -62,13 +62,14 @@ export default {
|
||||||
this.selectedTab = tab;
|
this.selectedTab = tab;
|
||||||
},
|
},
|
||||||
storeNewResource(resource) {
|
storeNewResource(resource) {
|
||||||
this.storedResources.push(resource);
|
this.storedResources.unshift(resource);
|
||||||
this.selectedTab = 'stored-resources';
|
this.selectedTab = 'stored-resources';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
provide() {
|
provide() {
|
||||||
return {
|
return {
|
||||||
storedResources: this.storedResources
|
storedResources: this.storedResources,
|
||||||
|
storeNewResource: this.storeNewResource
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Reference in New Issue