lesson 130: add tabs

This commit is contained in:
Andreas Zweili 2021-02-08 15:15:01 +01:00
parent 480b9ee49b
commit 63f0e3d148
4 changed files with 67 additions and 23 deletions

View File

@ -1,33 +1,15 @@
<template>
<the-header title="One big application"></the-header>
<stored-resources :stored-resources="storedResources"></stored-resources>
<the-resources></the-resources>
</template>
<script>
import TheHeader from './components/layouts/TheHeader';
import storedResources from './components/resources/StoredResources';
import TheResources from './components/resources/TheResources.vue';
export default {
components: {
storedResources,
TheHeader
},
data() {
return {
storedResources: [
{
id: 'official-guide',
title: 'Oficial Guide',
description: 'The official documentation for Vue.js.',
link: 'https://vuejs.org'
},
{
id: 'duckduckgo',
title: 'Duckduckgo',
description: 'A search engine that values privacy.',
link: 'https://duckduckgo.com'
}
]
};
TheHeader,
TheResources
}
};
</script>

View File

@ -0,0 +1,9 @@
<template>
<h2>Add Resource</h2>
</template>
<script>
export default {};
</script>
<style></style>

View File

@ -15,7 +15,7 @@ export default {
components: {
LearningResource
},
props: ['stored-resources']
inject: ['storedResources']
};
</script>
<style scoped>

View File

@ -0,0 +1,53 @@
<template>
<base-card>
<base-button @click="setSelectedTab('stored-resources')"
>Stored Resources</base-button
>
<base-button @click="setSelectedTab('add-resources')"
>Add Resource</base-button
>
</base-card>
<component :is="selectedTab"></component>
</template>
<script>
import StoredResources from './StoredResources';
import AddResource from './AddResource';
export default {
components: {
StoredResources,
AddResource
},
data() {
return {
selectedTab: 'stored-resources',
storedResources: [
{
id: 'official-guide',
title: 'Oficial Guide',
description: 'The official documentation for Vue.js.',
link: 'https://vuejs.org'
},
{
id: 'duckduckgo',
title: 'Duckduckgo',
description: 'A search engine that values privacy.',
link: 'https://duckduckgo.com'
}
]
};
},
methods: {
setSelectedTab(tab) {
this.selectedTab = tab;
}
},
provide() {
return {
storedResources: this.storedResources
};
}
};
</script>
<style></style>