【JavaScript】awaitを使用しない関数でasyncを使用するメリットは?

関数内で例外をthrowする場合、例外が同期的にthrowされるのではなく、rejectされる。 const func1 = async () => { throw new Error('error'); } const func2 = () => { throw new Error('error'); } const test1 = async (func) => { try { await func(); …

ブラウザから各イベント発火時にブレークポイントを仕掛ける方法

開発者ツールを開く。 Source タブを開く。 ツール右側の Event Listener Breakpoints から、各イベントに対しブレークポイントを設定することができる。

【Vue】コードを少し綺麗にするためのコツ

Vue

templateをあえて使用する。 条件分で1つの条件分岐のみに<template>タグを使用している場合などでは、あえて全ての条件分岐に<template>タグを使用する。 そうすることで、インデントの抽象度を統一され、より理解し易いコードになる。 <button v-if="isA" @click="onClickA">A</button> <template v-else> <button @click="onClickB">B</button> <button @click="onClickC">C</button> </template> </template></template>

【デザイン】デザインについてのまとめ

良いデザインとは 伝えたいことが、見る人にすんなりと伝わるかどうか。 WEBデザインの場合、そのサイト(アプリ)が使いやすいかどうか。 # 「誰に」「何を」伝えたいのか考える。 利用する人に考えさせない。 備考 「かっこいいデザイン」ではなく、「ユー…

【デザイン】余白についてのまとめ

余白の役割 レイアウトを整える。 注目してほしい情報を見つけ易くする。 各コンテンツの関連性を明確にする。 余白を広げた場合のメリット 余白を広げた場合、余計な情報に気を取られにくくなる。 余白の戦略 重要なフォームやボタンとその他のコンテンツと…

【CSS】margin-topとmargin-bottomはどちらを使用した方が良いか

marginは、隣接する側のコンテンツの余白を意味する。 marginは、隣接する側のコンテンツに指定する。 webサイトは、左上を起点として、右と下にコンテンツを追加していく。 左右に隣接したコンテンツの場合、隣接するコンテンツは右にあるコンテンツである…

【Vue.js】Objectのプロパティもwatchの監視対象にする方法

Vue

deepプロパティにtrueを指定する。 export default { watch: { hoge: { deep: true, handler(val) { console.log('watch hoge'); } } } };

【Vue.js】Objectの特定プロパティのみwatchの監視対象にする方法

Vue

オブジェクト名.プロパティ名 を指定する。 export default { watch: { `hoge.fuga`(val) { console.log('watch hoge.fuga'); } }, };

【HTML】IEでmainタグを使用する際の注意点

IEではmainタグのdisplayプロパティの規定値はinline であるため、レイアウト崩れが発生する可能性がある。 そのため、明示的に block を指定する必要がある。 main { display: block; }

【Vue.js】コンポーネント初期化時にwatchが実行されるようにする方法

Vue

immediateプロパティにtrueを指定する。 export default { watch: { hoge: { immediate: true, handler(val) { console.log('watch hoge'); }, } } };

【Nuxt.js】queryパラメータの更新時にasyncDataが実行されるようにする方法

全てのqueryパラメータ更新時に実行されるようにしたい場合 watchQueryプロパティに、trueを設定する。 export default { watchQuery: true, }; 一部のqueryパラメータ更新時に実行されるようにしたい場合 watchQueryプロパティに、対象としたいqueryパラメ…

【Vue.js】vue-i18nで文章内にhtmlやcssを含める方法

Vue

コード const ja = { test: 'テスト', entry: '申込受付中です。{newline}詳しくは{here}。', here: 'こちら' }; <i18n path="entry" tag="p"> <template #newline> <br /> </template> <template #here> <a href="/hoge">{{ $t('here') }}</a> </template> </i18n> 出力結果 <p>申込受付中です。<br />詳しくは<a href="/hoge">こちら</a>。 tagに指定したタグが使用される。 コード co…</p>

【CSS】スマホでWEBサイトのフォントサイズが自動的に大きくなってしまうのを回避する方法

CSS

事象 フォントサイズを指定しているにもかかわらず、意図しない大きさになってしまう。 対象方法 下記CSSを指定する。 body { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100% }

【デザイン】Atomic Designにおいての各コンポーネントの役割

Atoms アプリケーションの共通デザインを担当する。 抽象性が最も高い。 具体性が最も低い。 ライブラリにすることが可能。 ビジネスロジックを持たない。 stateにアクセスすること不可能。 Molecules アプリケーションの共通機能を担当する。 ライブラリに…

【Vue.js】vueファイルの書き方

methods methodは基本的にviewから呼ばれ、処理を行い、その結果をdataに反映する。 viewから呼ばれないメソッドをmethodsに定義したくなった場合は、まずcomputedに定義する方法を検討した方が、結果的に理解し易いコードになる可能性が高いような気がする…

定数について

定数とは 定数は、将来変更されるかもしれない値に対して使用する。 定数をどこに定義するか 設定ファイル(プロパティファイル)に定義する定数 環境ごとに変更したい値 環境ごとに変更する可能性がある値 環境ごとに変更する可能性はないが、値が変更され…

【Nuxt.js】ページ遷移時にスクロール位置をトップに戻すかどうかを指定する方法

scrollToTop プロパティで、スクロール位置をトップに戻すかどうかを指定できる。 export default { scrollToTop: true };