Framework7-Vue Starter
by Edgar Martinez
HTML
<script src="https://unpkg.com/[email protected]/dist/vue.min.js"></script>
<script src="https://unpkg.com/[email protected]/js/framework7.bundle.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/css/framework7.bundle.min.css">
<script src="https://unpkg.com/[email protected]/framework7-vue.bundle.min.js"></script>
<div id="app">
<f7-app :params="f7params">
<!-- Statusbar -->
<f7-statusbar></f7-statusbar>
<!-- Left Panel -->
<f7-panel left reveal theme-dark>
<f7-view id="left-panel-view">
<f7-page>
<f7-navbar title="Left Panel"></f7-navbar>
<f7-block strong>
<p>Left panel content goes here</p>
</f7-block>
<f7-block-title>Load page in panel</f7-block-title>
<f7-list>
<f7-list-item link="/about/" title="About"></f7-list-item>
<f7-list-item link="/form/" title="Form"></f7-list-item>
</f7-list>
<f7-block-title>Load page in main view</f7-block-title>
<f7-list>
<f7-list-item link="/about/" title="About" view="#main-view" panel-close></f7-list-item>
<f7-list-item link="/form/" title="Form" view="#main-view" panel-close></f7-list-item>
</f7-list>
</f7-page>
</f7-view>
</f7-panel>
<!-- Right Panel -->
<f7-panel right cover theme-dark>
<f7-view id="right-panel-view">
<f7-page>
<f7-navbar title="Right Panel" sliding></f7-navbar>
<f7-block>
<p>Right panel content goes here</p>
</f7-block>
<f7-block-title>Load page in panel</f7-block-title>
<f7-list>
<f7-list-item link="/about/" title="About"></f7-list-item>
<f7-list-item link="/form/" title="Form"></f7-list-item>
</f7-list>
<f7-block-title>Load page in main view</f7-block-title>
<f7-list>
<f7-list-item link="/about/" title="About" view="#main-view"...
JavaScript
// Init F7 Vue Plugin
Framework7.use(Framework7Vue)
// Init Page Components
Vue.component('page-about', {
template: '#page-about'
});
Vue.component('page-form', {
template: '#page-form'
});
Vue.component('page-dynamic-routing', {
template: '#page-dynamic-routing'
});
Vue.component('page-not-found', {
template: '#page-not-found'
});
// Init App
new Vue({
el: '#app',
data() {
return {
// Framework7 params here
f7params: {
root: '#app', // App root element
id: 'io.framework7.testapp', // App bundle ID
name: 'Framework7', // App name
theme: 'auto', // Automatic theme detection
// App routes
routes: [
{
path: '/about/',
component: 'page-about'
},
{
path: '/form/',
component: 'page-form'
},
{
path: '/dynamic-route/blog/:blogId/post/:postId/',
component: 'page-dynamic-routing'
},
{
path: '(.*)',
component: 'page-not-found',
},
],
}
}
},
});