目次
vue-simple-search-dropdownとは
vue-viewportsは、カスタムViewPortを定義するライブラリです。
viewportの幅をmatchMediaを利用して監視して、定義したラベルをレスポンスします。
環境
この記事は、以下の管理人の検証環境にて記事にしています。
| vue.js | 2.6.10 |
| vue-viewports | 3.1.2 |
ライブラリの取得
ライブラリを取得するには、npm, CDNのどれか一つを使用します。
npm
npm install vue-viewports --save-dev
CDN
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-viewports.js"></script>
gitリポジトリは以下から取得できます。
導入手順
管理人が行った、動作確認サンプルを実装するために、以下の手順でソースコードを導入していきます。
このサンプルでは、カスタムViewPortを定義します。
step
1ライブラリの呼び出し
まずライブラリを呼び出す為に、以下の2通りのケースで呼び出します。
ES6等で実装する場合
import VueViewports from 'vue-viewports'
UMDで実装する場合
const VueViewports = window['VueViewports'];
step
2メソッドを設定
Vue.useに上記で呼び出したVueViewportsを取り込みます。
その際にoptionでViewPortのブレークポイントを配列で設定します。
現在のカスタム定義ViewPortのラベルを返すためにViewportLabelでthis.$currentViewport.label をレスポンスします。
Vue.use(VueViewports, [
{
rule: '350px',
label: 'mobile'
},
{
rule: '380px',
label: 'tablet'
},
{
rule: '450px',
label: 'desktop'
},
{
rule: '1920px',
label: 'hd-desktop'
},
{
rule: '2560px',
label: 'qhd-desktop'
},
{
rule: '3840px',
label: 'uhd-desktop'
}
]);
new Vue({
el: '#app',
data: {
options: options
},
methods: {
ViewportLabel:function(){
return this.$currentViewport.label;
}
}
});
step
3テンプレートを準備
上記で良いしたViewportLabel メソッドを呼び出します。
<div id="app">
<p>この端末は「<strong>{{ViewportLabel()}}</strong>」ですね?</p>
</div>
サンプル
今回のソースを実際に触って確認できるようにデモを用意しました。
See the Pen Vue.jsでカスタムViewPortを定義する「vue-viewports」 by カバの樹 (@kabanoki) on CodePen.dark
さいごに
カスタムViewPortを定義するライブラリでした。
今日はこの辺でー