フォトブラウザ Vue コンポーネント
フォトブラウザは、写真/画像のコレクションを表示するためのフォトブラウザコンポーネントです。写真はズームとパンできます(オプション)。
フォトブラウザ Vue コンポーネントは、Framework7 の フォトブラウザ コンポーネントを表します。
フォトブラウザ Vue コンポーネントは、出力データをレンダリングしません。JS フォトブラウザインスタンスを作成し、Vue コンポーネント内で制御するために使用できます。
フォトブラウザコンポーネント
以下のコンポーネントが含まれています
f7-photo-browser
フォトブラウザのプロパティ
すべての parameters を単一の params
プロパティで渡すか、各 parameter に個別の props を使用してコンポーネントプロパティを介して指定できます。
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
<f7-photo-browser> プロパティ | |||
init | ブール値 | true | フォトブラウザを初期化します |
params | オブジェクト | フォトブラウザのパラメータを含むオブジェクト | |
photos | 配列 | [] | 写真のURLの配列、または "url"(または "html")と "caption" プロパティを持つオブジェクトの配列。 |
thumbs | 配列 | [] | サムネイル画像のURLの配列。指定されていない場合、または空の配列の場合は、サムネイルはレンダリングされません。 |
url | 文字列 | photos/ | 現在のルートとして設定されるフォトブラウザモーダルのURL |
routable-modals | ブール値 | false | 開いたフォトブラウザをルーター履歴に追加します。これにより、ルーター履歴を戻ることでフォトブラウザを閉じることができ、現在のルートをフォトブラウザモーダルに設定できます。 |
swiper | オブジェクト | Swiperパラメータを含むオブジェクト。デフォルトでは以下の通りです。
| |
virtual-slides | ブール値 | true | 有効にすると、Swiperはバーチャルスライドを使用します。 |
close-by-backdrop-click | ブール値 | true | 有効にすると、バックドロップをクリックするとフォトブラウザポップアップが閉じられます。 |
exposition | ブール値 | true | フォトブラウザをクリックしたときの露出モードを有効/無効にします。 |
exposition-hide-captions | ブール値 | false | 露出モードでキャプションも非表示にする場合はtrueに設定します。 |
swipe-to-close | ブール値 | true | このパラメータが有効になっている場合、上/下へスワイプしてフォトブラウザを閉じることができます。 |
type | 文字列 | standalone | フォトブラウザを開く方法を定義します。standalone (カスタムトランジション効果でオーバーレイとして開かれます)、popup (ポップアップとして開かれます)、page (ビューに挿入され、新しいページとしてロードされます)。 |
theme | 文字列 | light | フォトブラウザのカラースキーム。light またはdark です。 |
captions-theme | 文字列 | キャプションのカラースキーム。dark またはlight です。デフォルトでは "theme" パラメータと同じです。 | |
navbar | ブール値 | true | フォトブラウザのナビゲーションバーを削除するにはfalseに設定します。 |
toolbar | ブール値 | true | フォトブラウザのツールバーを削除するにはfalseに設定します。 |
page-back-link-text | 文字列 | 戻る | フォトブラウザのナビゲーションバーの戻るリンクのテキスト |
popup-close-link-text | 文字列 | 閉じる | ポップアップまたはスタンドアロンとして開いた場合のフォトブラウザのナビゲーションバーの閉じるリンクのテキスト |
navbar-show-count | ブール値 | 未定義 | ナビゲーションバーのタイトルに「5枚中3枚」というテキストを表示するかどうかを定義します。指定されていない場合(未定義)、アイテムが1つ以上ある場合はこのテキストが表示されます。 |
navbar-of-text | 文字列 | の | 写真のカウンターの「の」のテキスト:「5枚中3枚」 |
icons-color | 文字列 | デフォルトの色のいずれか |
フォトブラウザのイベント
イベント | 説明 |
---|---|
<f7-photo-browser> イベント | |
photobrowser:open | フォトブラウザが開かれたときにトリガーされるイベント。 |
photobrowser:opened | フォトブラウザが開くアニメーションが完了した後にトリガーされるイベント。 |
photobrowser:close | フォトブラウザが閉じられたときにトリガーされるイベント。 |
photobrowser:closed | フォトブラウザが閉じるアニメーションが完了した後にトリガーされるイベント。 |
photobrowser:swipetoclose | ユーザーが上/下へスワイプしてフォトブラウザを閉じるときにトリガーされるイベント。 |
フォトブラウザのメソッド
以下のフォトブラウザコンポーネントのメソッドが使用できます(例:$refsを介してアクセス)。
<f7-photo-browser> メソッド | |
---|---|
.open(index) | "index" パラメータに等しいインデックス番号の写真でフォトブラウザを開きます。"index" パラメータが指定されていない場合、最後に閉じられた写真で開きます。 |
.close() | フォトブラウザを閉じます。 |
.expositionToggle() | 露出モードを切り替えます。 |
.expositionEnable() | 露出モードを有効にします。 |
.expositionDisable() | 露出モードを無効にします。 |
例
photo-browser.vue
<template>
<f7-page>
<f7-navbar title="Photo Browser"></f7-navbar>
<f7-block strong-ios outline-ios>
<p>
Photo Browser is a standalone and highly configurable component that allows to open window
with photo viewer and navigation elements with the following features:
</p>
<ul>
<li>Swiper between photos</li>
<li>Multi-gestures support for zooming</li>
<li>Toggle zoom by double tap on photo</li>
<li>Single click on photo to toggle Exposition mode</li>
</ul>
</f7-block>
<f7-block strong-ios outline-ios>
<p>
Photo Browser could be opened in a three ways - as a Standalone component (Popup
modification), in Popup, and as separate Page:
</p>
<div class="grid grid-cols-3 grid-gap">
<div>
<f7-photo-browser ref="standalone" :photos="photos" :thumbs="thumbs" />
<f7-button fill @click="$refs.standalone.open()">Standalone</f7-button>
</div>
<div>
<f7-photo-browser ref="popup" :photos="photos" :thumbs="thumbs" type="popup" />
<f7-button fill @click="$refs.popup.open()">Popup</f7-button>
</div>
<div>
<f7-photo-browser
ref="page"
:photos="photos"
:thumbs="thumbs"
type="page"
page-back-link-text="Back"
/>
<f7-button fill @click="$refs.page.open()">Page</f7-button>
</div>
</div>
</f7-block>
<f7-block strong-ios outline-ios>
<p>
Photo Browser supports 2 default themes - default Light (like in previous examples) and Dark
theme. Here is a Dark theme examples:
</p>
<div class="grid grid-cols-3 grid-gap">
<div>
<f7-photo-browser ref="standaloneDark" :photos="photos" :thumbs="thumbs" theme="dark" />
<f7-button fill @click="$refs.standaloneDark.open()">Standalone</f7-button>
</div>
<div>
<f7-photo-browser
ref="popupDark"
:photos="photos"
:thumbs="thumbs"
theme="dark"
type="popup"
/>
<f7-button fill @click="$refs.popupDark.open()">Popup</f7-button>
</div>
<div>
<f7-photo-browser
ref="pageDark"
:photos="photos"
:thumbs="thumbs"
theme="dark"
type="page"
page-back-link-text="Back"
/>
<f7-button fill @click="$refs.pageDark.open()">Page</f7-button>
</div>
</div>
</f7-block>
</f7-page>
</template>
<script>
import { f7Navbar, f7Page, f7PhotoBrowser, f7Block, f7Button } from 'framework7-vue';
export default {
components: {
f7Navbar,
f7Page,
f7PhotoBrowser,
f7Block,
f7Button,
},
data() {
return {
photos: [
{
url: 'img/beach.jpg',
caption: 'Amazing beach in Goa, India',
},
'http://placekitten.com/1024/1024',
'img/lock.jpg',
{
url: 'img/monkey.jpg',
caption: 'I met this monkey in Chinese mountains',
},
{
url: 'img/mountains.jpg',
caption: 'Beautiful mountains in Zhangjiajie, China',
},
],
thumbs: [
'img/beach.jpg',
'http://placekitten.com/1024/1024',
'img/lock.jpg',
'img/monkey.jpg',
'img/mountains.jpg',
],
};
},
};
</script>