Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

さてさて、この間 wordpressみたいなドラッグ・アンド・ドロップをVueで実装という記事を公開しました。この記事の目的はユーザビリティだったのですが、ドラッグ&ドロップ機能の先では画像のアップロードを想定していました。 最近のウェブサイトでは画像をサーバーへ保存するというのは珍しいことではないでしょうが、実はアップロードする側の状況が変化してきたことである問題が発生するようになってきました。 それが・・・ スマホ・カメラの高解像度化のせいで画像アップロードに時間がかかってしまう というものです。 つまり、サイズが大きなファイルをアップロードするのに時間がかかってしまうということですね。 特にまだ日本のウェブサイトは、以下のように確認ページを挟む場合も多く存在していますので、その場合(バリデーションを厳密にするなら)画像サイズが大きい場合は1番と2番で画像をアップロードする必要がでてき
import Vue from 'vue'; import axios from 'axios'; . . . Vue.prototype.$http = axios.create( { baseURL: process.env.VUE_APP_API_URI, withCredentials: true }, ); . . . methods: { fetchItemList() { return new Promise((resolve) => { this.$http.get('/api/v1/items').then((response) => { this.itemList = response.data.index; resolve(); }).catch(省略); }); }, }, . . .
目的 コンポーネントの外側、または他の部分をクリックしたら、そのコンポーネントを非表示にしたい。 ModalやDialogのようなコンポーネントはscrim(黒い背景のこと)を持つため、外側をクリックしたら閉じるという動きを作りやすい。実際scrimはコンポーネント内ですし。 そうではなく、Popupなどの軽率にフロートしてなおかつ外側をクリックしたら閉じてほしい、というコンポーネントはそれぞれがdocument.onclickに反応する必要がある。 ググってみたらdirectiveで頑張っている例が多い。 vue-click-outside Custom Directive vue-click-outsideのコード https://github.com/vue-bulma/click-outside/blob/master/index.js ハンドラを通したりSSRを想定する過程で少し
<script> import { createNamespacedHelpers } from 'vuex' const { mapState, mapActions } = createNamespacedHelpers('hoge/Hoge') // Hoge.jsのStateとActionsを使う const { mapState: mapStateOfFuga, mapActions: mapActionsOfFuga } = createNamespacedHelpers('fuga/Fuga') // Fuga.jsのStateとActionsを使う export default { computed: { ...mapState([ 'aaa', 'bbb' ]), ...mapStateOfFuga(['xxx']) }, methods: { ...mapActions
<script> import { createNamespacedHelpers } from 'vuex' const { mapState, mapActions } = createNamespacedHelpers('hoge/Hoge') // Hoge.jsのStateとActionsを使う export default { computed: { ...mapState([ 'aaa', 'bbb' ]) }, methods: { ...mapActions([ 'ccc', 'ddd' ]) } } </script> import { createNamespacedHelpers } from 'vuex' でVuexをインポートし、createNamespacedHelpersで使うように設定しています。 const { mapState, mapActions
import Vue from 'vue' import VueI18n from 'vue-i18n'; Vue.use(VueI18n); const i18n = new VueI18n({ locale: 'ja', messages: { // 翻訳用のjson ja : require('../lang/ja.json'), en : require('../lang/en.json'), cn : require('../lang/cn.json'), tw : require('../lang/tw.json') } }); const app = new Vue({ el: '#app', i18n: i18n, components: { } })
##はじめに 前回に引き続き、vue.jsを触ってみて詰まった所などを備忘録としてまとめてみます。 ##Vue.js(SPA)におけるブラウザバック問題 SPAでの実装に慣れている方からすると初歩的なミスかもしれないが… このような画面遷移を行なっていた時 /hoge⇨/fuga⇨/fuga?page=2 ブラウザバックを行うと /fuga?page=2から/hogeに戻ってしまっていた。 ###考えられる原因 ページネーションでの遷移がhistory.replaceState()だった(現在の履歴エントリーを新しい履歴エントリーに置換する設定) history.pushState()にしたらいけるのでは!?!? ###history.pushStateにしたものの… URLは/fuga?page=2⇨/fugaへ変わるが、画面が再描画されない!! 今回作成していたページはAPIを叩いて一
導入 Vueを使用して、フラッシュメッセージ(一時的に表示され、一定時間経つと自動的に消えるメッセージ)を作成するために、Vuexのストア機能を利用します。 なぜフラッシュメッセージの表示にVuexを利用するのか? Vuexのメリットとは? Vuexを利用するメリットは以下のようなことだそうです。 アプリケーション全体に関わる「状態」を、コンポーネントがバラバラに持たずに、ストアというデータ保管場所で一括で管理することにより、データ移動の複雑性が一気に解消される、という点にある。 ちょいとむずいな〜。 どういうことかというと、以下の図をから説明してみます。。。 例えば、Bというコンポーネントで何らかの状態が変化して、DコンポーネントのUIを変更しなければならない場合、Vuexを使用しないと何が起こるのでしょうか? Vueのコンポーネント間では、兄弟関係のデータの受け渡しはできず、必ず「親か
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く