If we know how to create Vue web apps but want to develop mobile apps, we can use the Ionic framework.
In this article, we’ll look at how to get started with mobile development with the Ionic framework with Vue.
Footer
We can add a footer with Ionic Vue.
To do that, we use the ion-footer component:
<template>
<ion-page>
<ion-content></ion-content>
<ion-footer>
<ion-toolbar>
<ion-title>Footer</ion-title>
</ion-toolbar>
</ion-footer>
</ion-page>
</template>
<script lang='ts'>
import {
IonContent,
IonFooter,
IonTitle,
IonToolbar,
IonPage,
} from "@ionic/vue";
import { defineComponent } from "vue";
export default defineComponent({
components: { IonContent, IonFooter, IonTitle, IonToolbar, IonPage },
});
</script>
We can also add one with no border:
<template>
<ion-page>
<ion-content></ion-content>
<ion-footer class="ion-no-border">
<ion-toolbar>
<ion-title>Footer - No Border</ion-title>
</ion-toolbar>
</ion-footer>
</ion-page>
</template>
<script lang='ts'>
import {
IonContent,
IonFooter,
IonTitle,
IonToolbar,
IonPage,
} from "@ionic/vue";
import { defineComponent } from "vue";
export default defineComponent({
components: { IonContent, IonFooter, IonTitle, IonToolbar, IonPage },
});
</script>
Then ion-content component holds the content on top.
The ion-title component has the title for the footer.
Button Group
We can add button groups with the ion-buttons component.
For example, we can write:
<template>
<ion-page>
<ion-toolbar>
<ion-buttons slot="primary">
<ion-button @click="clickedStar()">
<ion-icon slot="icon-only" name="star"></ion-icon>
</ion-button>
</ion-buttons>
<ion-title>Right side menu toggle</ion-title>
<ion-buttons slot="end">
<ion-menu-button auto-hide="false"></ion-menu-button>
</ion-buttons>
</ion-toolbar>
</ion-page>
</template>
<script>
import {
IonBackButton,
IonButton,
IonButtons,
IonIcon,
IonMenuButton,
IonTitle,
IonToolbar,
IonPage
} from "@ionic/vue";
import { personCircle, search } from "ionicons/icons";
import { defineComponent } from "vue";
export default defineComponent({
components: {
IonBackButton,
IonButton,
IonButtons,
IonIcon,
IonMenuButton,
IonTitle,
IonToolbar,
IonPage
},
setup() {
const clickedStar = () => {
console.log("Star clicked!");
};
return { personCircle, search, clickedStar };
},
});
</script>
to add the ion-buttons component.
Then we can add the ion-button components inside to add the buttons.
ion-button emits the click event so we can run something when we click it.
Text
We can add text into our app with the ion-text component.
For example, we can write:
<template>
<ion-page>
<ion-text color="danger">
<h4>H4: The quick brown fox jumps over the lazy dog</h4>
</ion-text>
</ion-page>
</template>
<script>
import { IonPage, IonText } from "@ionic/vue";
import { defineComponent } from "vue";
export default defineComponent({
components: {
IonPage,
IonText,
},
});
</script>
to add the text.
color has the color of the text.
Conclusion
We can add a footer, button group and text with Ionic Vue.