アプリのレイアウト
アプリのために最初にすべきことは、アプリのスケルトンを含むindex.htmlファイルを作成することです。Framework7 Vueは、webpackのようなバンドルツールと一緒に使うことを想定しているので、index.htmlのスタイルやスクリプトは、自動的に注入/生成されるようになっています。
<!DOCTYPE html>
<html>
<head>
<!-- 必要なmetaタグ-->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- ステータスバーのカラーテーマ(Androidのみ -->
<meta name="theme-color" content="#2196f3">
<!-- アプリのタイトル -->
<title>My App</title>
<!-- Framework7のスタイル -->
<link rel="stylesheet" href="path/to/framework7-bundle.min.css">
</head>
<body>
<!-- アプリのルート要素 -->
<div id="app"></div>
<!-- スクリプトは自動的に注入されます。 -->
</body>
</html>
`は、アプリのメインとなるスケルトンを格納する場所です。このコンテンツをコンポーネントとして実装することもできますし、(例として)このdivの中にアプリの骨格を書き始めることもできます。基本的なレイアウト
非常に基本的なアプリコンポーネントのレイアウトを見てみましょう。
<template>
<!-- メインのFramework7 Appコンポーネントで、Framework7のパラメータを渡します。 -->
<f7-app v-bind="{ theme: 'auto', name: 'My App', id: 'com.demoapp.test' }">
<!-- メインビューは、"main "プロップを持ちます。 -->
<f7-view main>
<!-- 初期ページ -->
<f7-page>
<!-- トップナビバー-->
<f7-navbar title="Awesome App"></f7-navbar>
<!-- ツールバー-->
<f7-toolbar bottom>
<f7-link>Link 1</f7-link>
<f7-link>Link 2</f7-link>
</f7-toolbar>
<!-- ページコンテンツ -->
<p>Page content goes here</p>
<f7-link href="/about/">About App</f7-link>
</f7-page>
</f7-view>
</f7-app>
</template>
高度なレイアウト
ここでは、ビューやポップアップを備えたサイドパネルを追加する、より高度なレイアウトを見てみましょう。
<template>
<!-- Framework7のパラメータを渡す、Framework7アプリのメインコンポーネント -->
<f7-app v-bind="{ theme: 'auto', name: 'My App', id: 'com.demoapp.test' }">
<!-- カバー "効果のある左パネル -->
<f7-panel left cover>
<f7-view>
<f7-page>
<f7-navbar title="Left Panel"></f7-navbar>
<f7-block>
<p>Here comes the left panel text</p>
</f7-block>
</f7-page>
</f7-view>
</f7-panel>
<!-- 明示」効果のある右パネル -->
<f7-panel right reveal>
<f7-view>
<f7-page>
<f7-navbar title="Right Panel"></f7-navbar>
<f7-block>
<p>Here comes the right panel text</p>
</f7-block>
</f7-page>
</f7-view>
</f7-panel>
<!-- メインビュー-->
<f7-view main>
<f7-page>
<f7-navbar title="Awesome App"></f7-navbar>
<!-- ページコンテンツ -->
<f7-block>
<p>Here comes main view page text</p>
</f7-block>
<!-- パネルを開くボタン -->
<f7-row>
<f7-col>
<f7-button panel-open="left">Left Panel</f7-button>
</f7-col>
<f7-col>
<f7-button panel-open="right">Right Panel</f7-button>
</f7-col>
</f7-row>
<!-- ポップアップを開くためのボタン -->
<f7-button popup-open="#my-popup">Open Popup</f7-button>
</f7-page>
</f7-view>
<!-- ポップアップ。すべてのモーダルはビューの外にあるべきです -->
<f7-popup id="my-popup">
<f7-view>
<f7-page>
<f7-navbar title="Popup">
<!-- ポップアップを閉じるためのリンク -->
<f7-nav-right>
<f7-link popup-close>Close</f7-link>
</f7-nav-right>
</f7-navbar>
<f7-block>
<p>Here comes popup text</p>
</f7-block>
</f7-page>
</f7-view>
</f7-popup>
</f7-app>
</template>
ビュー、ナビバー、ツールバー、ページ、パネル、その他のコンポーネントについては、それぞれのセクションで詳しく説明しています。
アプリの初期化
基本的なテンプレートができたら、アプリの初期化を my-app.js
(例)で行う必要があります。