はじめに
Vue.js を kazupon/vue-i18n が動作しない問題の修正方法。
TL;DR
vue add i18n
でプラグイン追加- 環境(バージョン組合せ?)によっては上手く動かないので
src/i18n.js
を修正messages[locale] = locales(key).default
->messages[locale] = locales(key)
Vue.js を kazupon/vue-i18n が動作しない問題の修正方法。
vue add i18n
でプラグイン追加src/i18n.js
を修正messages[locale] = locales(key).default
-> messages[locale] = locales(key)
Cordova Android で iframe 内のリンクをシステムデフォルトブラウザで開く方法。
前置きなどは 親 Window で iframe からのデータ受信、イベント検出する方法 の「前置き」と同じ。
以下はとあるプロジェクトの要件など。
- Cordova で iOS/Android まとめて開発
- コンテンツ内部は先方が作成
- コンテンツ内に先方管理外のサイトへのリンクがある
- ガワはこちらで作成して、コンテンツを
iframe
で読み込むiframe
内のリンクをシステムデフォルトブラウザで開きたいiOS は問題なかった(意図通りに動作した)が、Android だけ上手く動かなかった。具体的には、リンクをタップすると
iframe
内で開こうとするが、X-Frame-Options の設定によりnet::ERR_BLOCKED_BY_RESPONSE
となる、というもの。
iframe
側: postMessage
でリンク先 URL を送信preventDefault
で元イベント(リンク先を iframe
内で開こうとするアクション)を抑止created
, beforeDestroy
フックでイベントリスナを 追加/削除plotly/plotly.js で、ズームやパン(移動)と連動して Y軸の表示範囲を自動で調整(オートスケール)する方法
plotly_relayout
イベントが発火.on('plotly_relayout', handler)
でハンドラを設定relayout
を実行Plotly.relayout()
で plotly_relayout
イベントが発火するので無限ループにならないように注意NativeScript(NativeScript-Vue) で davecoffin/nativescript-modal-datetimepicker で DatePicker/TimePicker を使用する方法
tns plugin add nativescript-modal-datetimepicker@x.y.z
ns plugin add nativescript-modal-datetimepicker
import
, new
して pickDate
や pickTime
Vue.js で Lottie を使ったアニメーションを表示する方法。
Vue.js 向けのライブラリとして以下があるがメンテが止まってるようなので、(いまでも問題なく使えるかもしれないが)本記事では airbnb/lottie-web を使う。
※Latest commit は 2020/09/28 時点の確認結果
npm i lottie-web
でインストールlottie-web
と JSON データを import
lottie.loadAnimation
を実行Chart.js (vue-chartjs) でツールチップの表示内容を変更する方法
tooltips.callbacks.xxxx
で設定tooltips.callbacks.title
tooltips.callbacks.label
tooltips.callbacks.footer
tooltips.backgroundColor
tooltips.titleFontColor
tooltips.bodyFontColor
tooltips.footerFontColor
tooltips.titleFontStyle
Vue で Ivorzk/vue-cli-plugin-app-config を使って、動作環境ごとのコンフィグを設定する方法。
(ユースケースとしては、リリースビルドで動かしたいけど一部設定は開発向けにしたい、など?)
npm i vue-cli-plugin-app-config
でインストールapp.config.js
を作成し、vue.config.js
で pluginOptions
に追加npm run serve --dev
, npm run build --prod
などで環境(コンフィグ)切り替え可能Chart.js(vue-chartjs) で凡例の一部を非表示にする方法。
例えば円グラフ(Doughnut
, Pie
)で、値が 0
のものを取り除く、など。
(※この例だと、そもそも datasets
から除外するのが良いけど、他に良い例がパッと思いつかないので…)
options.legend.labels.filter
で設定item.index
や chart.datasets[n].data[item.index]
を見て 表示/非表示 を決定return true
で表示、return false
で非表示apertureless/vue-chartjs でチャートの高さ(や幅、サイズ)を変更する方法
width
や height
を設定options.responsive
や options.maintainAspectRatio
も合わせて指定width
や height
を vw
, vh
で指定する方法もある