はじめに おはようございます、加藤です。Vue.jsのユニットテスト環境作成の方法をまとめました。もし、このブログが公開から時間が経っているなら情報が古い可能性が高いです、ご注意ください。 なぜわざわざこんな事を言うかというと、私がこのブログを書いた理由は簡単に環境作成できるにも関わらず古い情報にぶつかって無駄に時間を溶かしたからです。。。 tl;dr Vue.jsのユニットテストの導入方法 マウンティングオプションは mount と shallowMount どちらを使うべきか 見るべきドキュメント 環境作成までがメインでユニットテストの作成方法についてはどのドキュメントを何の為に読んだかをまとめています。 ブログを書く経緯 最近Vue.jsの基礎を勉強したので自主4連休中に、Techpitで販売されているVue.js/Vuexを使ってTrello風アプリを作成しよう!を買ってサンプルア
じまぐ @nakajmg Frontend Engineer at PixelGrid Inc. + 副業 (元DMM.comラボ 7年前?
export default { install(vue) { vue.prototype.$storage = { get(key) { // localstrageからとる return localStorage.getItem(key) }, set(key, value) { // localstrageへ保存 localStorage.setItem(key, value) }, } }, } <script> /////////////// 省略 /////////////// methods: { setLocalStrage(){ // ローカルストレージに値を保存する this.$storage.set('email', this.email) }, sgtLocalStrage(){ // ローカルストレージに値を取得する this.$storage.get('emai
Event listnerの種類 Vueの公式サイトを見たら上記のように書いてありました。 そうしたらJavascriptのonから始まるEventListnerを@またはv-onで可能と思ってテストしました。 やぱりwできました。 Vue Event Listnerの一覧 @abort @auxclick @beforecopy @beforecut @beforepaste @blur @cancel @canplay @canplaythrough @change @click @close @contextmenu @copy @cuechange @cut @dblclick @drag @dragend @dragenter @dragleave @dragover @dragstart @drop @durationchange @emptied @ended @error
VueConf USでのさまざまな発表 今年の3月に VueConf US が開催されました。最近になってビデオが公開されて初めて知ったこともあるので本記事ではその紹介をします。 いろいろ面白いトピックがあるのですが、特にVueコアチームのGuillaume Chauさんによるパフォーマンス改善テクニックはまじかーという感じだったのでここにまとめたいと思います。 "9 Performance Secrets Revealed with Guillaume Chau" プレゼン動画: http://www.youtube.com/watch?v=5B66qer8cZo スライド: https://slides.com/akryum/vueconfus-2019#/ デモサイト: https://vue-9-perf-secrets.netlify.com ソース: https://githu
こんにちは、小林(@koba04)です。 本記事では、シングルページアプリケーション(以下、SPA)における状態管理について解説します。 GmailやTwitterは、SPAとして構築されている代表的なWebアプリケーションであり、スムーズなページ遷移をSPAによって実現しています。またElectronやPWA(Progressive Web Apps)の登場により、複雑なアプリケーションをWebの技術を使って構築する場面も増えてきました。 これらの複雑なアプリケーションにおいては、既存のページ単位での状態管理の考え方では対応が難しくなります。 そこで今回は、具体的なフレームワークも取り上げながら、Webフロントエンドにおける状態管理のアプローチについて紹介します。 フロントエンドでの状態管理の複雑化 ページの単位を超えた状態の保持 モデルとビューによる処理の分割 イベントの管理が複雑にな
やりたいこと 普段何気なくテキストエリアに文字を入れたり、改行したりしますが、 その際、改行分の高さをとってくれるようなテキストエリアのcomponentをつくりたかった ソース <template> <textarea ref="adjust_textarea" v-model="textareaVal" class="c-input-textarea" :placeholder="placeholder" @keydown="adjustHeight" /> </template> <script> export default { name: 'BaseTextarea', props: { placeholder: { type: String, required: true, }, }, data() { return { textareaVal: '', } }, method
前提条件 バージョン情報 Vue 2.6.10 Jest 24.5.0 TL;DR DOMが絡むなら $nextTick , 絡まないなら setTimeout を使う。 実例 <template> <div id="piyo"> {{ hoge }} </div> </template> <script> export default { data() { return { hoge: '', }; }, async created() { this.hoge = await this.huga(); }, methods: { huga() { return new Promise((resolve) => { setTimeout(() => { resolve('it works'); }, 100); }); }, }, }; </script> import { shallow
iOS専門で色々やってたはずが、万屋になってきた私です。 おはこんばんちわ。 前回、Vue.jsを使いつつOpenStreetMapを表示することをやってみました。 前回記事 Vue.jsを使いつつ、OpenStreetMapを表示する 今回は前回記事のコードを元にクリックしたポイントにマーカーを表示してみます。 Mapを表示する 今回使うコンポーネントは前回と同じく2つです。元のコンポーネントをそのまま記載します。 詳しい内容については、前回記事を参照してください。 前回はMapをクリックするとクリップしたポイントの緯度経度情報をconsole.logとして吐き出すということまで行っています。 <template> <div id='BaseView'> <MapView v-on:panretMessage="messageLog" ref="map"/> </div> </templ
2019年版Vue.jsを使ってる人には必ず知っていてほしいVue.jsの武器とドキュメントに書かれていないコンポーネントやメンテナンスの際に役立つTipsアーキテクチャVue.jsElmReactAngular2 はじめに 私はVue.js with Vuexを使った業務で1画面30APIを叩く必要のある画面から、たったの数APIしか叩かないけれど、代わりにUIがとても機能的で複雑な画面まで設計し、構築しました。 もちろん、Vue.jsのコンポーネントシステムをフル活用し、Vuexを入れていないプロジェクトの経験もあります。 現在は構築したシステムを保守・運用しています。 また、勉強の為にReact、 Angular、 最近はElm等にも少し触れています。 その際に得られたノウハウ、Vue.jsが他のライバルフレームワークと比べた際に現時点で本当に勝っている利点やノウハウを言語化し、共有
2019/02/05にVue.js 2.6 "Macross"がリリースされました。 そのうちもっと適切な日本語訳が出ると思いますが、まだ無いので紹介してみます。 以下はVueの作者Evan Youによる記事、Vue 2.6 releasedの日本語訳です。 Vue 2.6 released Vueは昨日、5歳の誕生日(Vueniversary)を迎えました。 そして本日、素晴らしいことにVue 2.6 "Macross"の発表を行うことができました。 この一年、我々は新しいCLIと3.0のプロトタイピングに多大な時間を費やしました。 その結果、Vue2.xはしばらくメジャーアップデートを行えませんでした。 しかし今こそ、その時です。 このリリースには、以下に解説する多数の大幅な改善、内部構造の変更、そして新機能が含まれています。 詳細についてはGitHubのリリースノートも参照してくださ
vue.jsのimgタグはsrcの指定の方法によって実は参照するファイルが異なるっぽい。 imgタグを並べて表示する場合この挙動を知らないとハマりそうなので、どのような挙動になっているのか調べたのでまとめました。 対象はVue CLI 3で生成したプロジェクトです。 例1: 普通にimgタグを並べる場合 例えば画像を並べて表示する場合、一番単純な実装はimgタグを並べるだけで良いです。 画像はsrc/assets/以下に置いてます。 シンプル。 <template> <ul> <li><img src="@/assets/img1.png"/></li> <li><img src="@/assets/img2.png"/></li> <li><img src="@/assets/img3.png"/></li> </ul> </template> 例2:v-forでimgタグを並べる場合
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く