フレームワークTwitterFacebookはてブPocketVue.jsで小規模なSPAを開発している。Vuexを導入するほどでもなく、Vue.jsの標準機能でコンポーネント間でデータをやりとりする方法がないか考えていた。upでデータのやりとりができる。子子コンポーネント間(いわゆる兄弟間)はどうするのが良いのかを3つのパターンを紹介する。親子コンポーネント間のデータのやり取りについては、以下の記事を参照してほしい。$on/$emitでのイベントによるやり取り一番簡単なのが、この$on/$emitでのイベントによるやり取り。共有のViewModel(vueインスタンス)を用意し、そこにイベントを登録/発火させることで親子に関係なくデータのやりとりができる。this.text)を実行し、send-textイベントを発火させ、引数としてthis.textを渡している。}を実行しデータを受け取り、自分のthis.textに設定している。この方法は、親子や兄弟など関係なくどんなコンポーネント間でもデータのやりとりができる。その反面、イベント名がコンフリクトしないように気をつかったり、どこから来てどこへ行くのかもわからない。個人的には、あまり使いたくない方法だ。親コンポーネントをコントローラにして子コンポーネント間を取り持つ親コンポーネントをコントローラとして、子コンポーネントからデータを受け取り、別の子コンポーネントにデータを渡すという方法だ。upをしているだけだ。子コンポーネント1→親コンポーネント→子コンポーネント2と親コンポーネントを経由してデータを渡す。先ほどの$on/$emitに比べてシンプルな状態に保てるが、やりとりするデータやコンポーネントの量が増えると親コンポーネントが肥大化してしまう。コンポーネントの階層が深くなると、それぞれが密結合してしまい汎用性がなくなってしまう。小さなアプリケーションならこれで良いが、ちょっとでも大きくなりそうなら考え直す必要がありそうだ。状態管理を一元管理することにより、どんなコンポーネントからでも参照できる。Store.stateを直接弄るようなことはせず、なんらかのイベントを使って変更する。}});前述の2パターンと比べるとかなりシンプルになる。どんなにコンポーネントの階層が深くても単一のStoreを参照できるメリットがある。実装してみた感覚は、Vuexのstate、actionsだけを使っている感じだ。状態管理#シンプルな状態管理をゼロから作るデモまとめ3パターン紹介してきたが、どれも一長一短あるので自分が実現したい機能との兼ね合いで選択したほうが良さそう。ちなみに冒頭に述べた小規模SPAは「親コンポーネントをコントローラとして子コンポーネント間を取り持つ」方法を採用した。理由は、シンプルさを保つため。Storeパターンもシンプルなのだが、「Storeパターン」について知っていないとコードを読む時間が増えてしまうからだ。やっていろいろなパターンを試してみた結果、ちょっとでも大きくなりそうなら迷わず最初からVuexを導入するのが良い選択だと思う。Serverでの開発を行った時にハマったのが、Nullと空文字("")の扱いの違いだった。結論から言うと、以下のようになっている。...【C#】いろんなパディング(空白埋めやゼロ埋め)固定長IFファイルの作成では必要不可欠な処理、パディング。文字長を一定にしたり、ブラの隙間に夢を詰めたりいろんな使い方がされる。このエントリでは以下の3種類の方法を紹介する。2)」とかいたらコンパイラさんに怒られてしまった。LEFT関数は特に問題ないが、可変長データ...Excelで「データを貼り付けできません。」というエラーが出た時の対処法Excelでなぜか図形が挿入できない。オブジェクトを貼り付けることができない。こんなしょうもないことで、10分を無駄にしてしまった。その対処法をまとめる。Google先生に聞いたところ、以下の対処法があったが、どれもよくわからなかった。結論から言うと、VBAにはTry-Catch-Finallyが存在しない。Errorステートメントとラベルを使う。簡単な例外処理(エラーハンドリング)は以下のとおり。」というエラーになる。ToStringプログラミングを行ううえで使う頻度が高いのが型変換(キャスト)。基本的なキャストには以下のようなものがある。どれも型変換に使うメソッドだが...position:stickyでスクロール可能なテーブルの行・列ヘッダを固定するテーブルに表示する情報が多いとき、行ヘッダや列ヘッダを固定して表示したいときがある。使うと簡単に実装できる。IEは対応していないため、ポリフィルが必要となる。完成予想イメージは以下のとおり。昼食を完全食COMPにかえて1ヶ月たったので、経緯や感想を綴ろうと思う。Standard.、SAVASホエイプロテインとの組み合わせについても書く。時間ではなく、技術を売る技術者になることを目標にブログやってます!ご用の方は、ページ右の問い合わせフォーム(※PC用ページのみ)、またはTwitterまでご連絡ください。当ブログの利用するにあたり、何らかのトラブルや損害などが生じても当ブログ管理人は一切責任を負いません。許諾や有無など、その内容については一切の保証を致しかねます。