JavaScript

【Vue.js】オブジェクトの内容を変更しているのにcomputedが変化しない状況への対処

状況 dataに用意したオブジェクトの内容を変更しているのにcomputedが変化しなくて困っていました。 対処 前提 dataに宣言する時点でプロパティを宣言しておけばVueが更新を追ってくれるので、基本はプロパティを宣言しておいた方がいいらしいです。 // ダメ…

【JavaScript】オブジェクトをディープコピーする

JavaScriptには素の状態でディープコピーを取得する機能が無く、ただ代入してもシャローコピーとなってしまい、バックアップを一時的に持っておくような作業には使えません。 やり方 自分で書こうとすると手間が大きかったので、Lodashを導入した上で、そこ…

【JavaScript】JasmineでsetTimeOut/crearTimeOutをspyOnする

Karma + JasmineでsetTimeOut/crearTimeOutをモックにします。 コード setTimeOutには戻り値を設定しています。複数回呼ぶときはreturnValues(100, 101, 102...)としてやると、呼ぶごとに戻り値を変えられます。 //timeout系をmock化 spyOn(window, 'setTime…

【HTML/CSS】複数の要素を同期してScrollする【JavaScript】

複数要素を同期してScrollさせます。 強引な実装だと思うので、もっとスマートな実装が有れば教えてください。 やりたいこと 実装 利用例 解説 呼び出し元の記録と、記録のリセット 高さの操作 やりたいこと 以下のような機能を実現します。 複数要素を同時…

【HTML/CSS】JavaScriptで新しいタブを開き、そこからPOSTを送る【JavaScript】

以下のような動作がしたかったのですが、1, 2をやるようなコードが落ちてなかったので作りました。 新しいタブを開く 開いたタブからPOSTを送信する 戻ってきたwebページを表示する 内容的には新しいタブをtargetに指定してpost結果を表示するというのが正し…

【HTML/CSS】axiosでAPIを叩く【JavaScript】

ソースコード axiosでGitHub APIを叩くサンプルです。自分(k163377)のリポジトリ情報を取得し、その名前を書き出します。 一瞬詰まった点としては、取得成功時に呼ばれる関数内でエラーを出した場合、処理はそこで中断されてエラー処理関数が呼び出される…