Furyu

[フリュー公式] Tech Blog

フリュー株式会社の技術ブログです

2017年05月11日

SatoKeita

Vue.jsを使ってみよう その2

こんばんは、フリューのジョンです。最近Vue.jsを理解しようとVue.jsのソースコードリーディングをしています。

前回はVue.jsのかんたんな使い方とjQueryとの比較、などをお話しました。
今回はVue.jsの基本の話、elプロパティ、dataプロパティ、methodsプロパティの話をします。

Vue.jsのバージョンは2.3.0です。

elプロパティ

elプロパティはString型、または、HTML Elementである必要があります。
String型で与えた場合、document.querySelectorで存在した要素を使いますので、HTML Elementを与える必要はあまり無いと思われます。

コンパイル対象のルート要素に対して設定します。
コンパイルとは、データのバインディング設定などを行うフェーズです。
Vue.jsではルート要素以下の要素を網羅してHTMLを再構築しています。

dataプロパティ

dataプロパティはObject型、または、Object型を返すFunction型である必要があります。
後で説明するコンポーネントを使う場合、dataプロパティはFunction型でなければいけないので、常にFunction型を返すようにしておくほうが妥当だと思われます。

dataプロパティの値にはインスタンスからアクセスすることができます。また、HTML側からは直接アクセスすることが可能です。
さらに、Vue.jsはこのObject型に記述されたプロパティの変更を感知することができます。感知することで画面側の再描画が走ります。

このようにdataプロパティが返すObject型をいじると、再描画されているのがわかります。これは、Vue.jsがプロパティにsetterとgetterをつけており、その中で変更を検知しているためです。
しかし、配列の場合は少し勝手が違います。配列の中身をいじっても更新はされません。

もしこのような場合があれば次のように置き換えます。

vm.messages[0] = ‘ほげ’ → Vue.set(vm.messages, 0, ‘ほげ’)

またはspliceメソッドを用いてやります(spliceメソッドは再描画の検知ができます)

vm.messages[0] = ‘ほげ’ → vm.messages.splice(0, 1, ‘ほげ’)

(https://jp.vuejs.org/v2/guide/list.html#注意事項)

methodsプロパティ

methodsプロパティはプロパティがFunction型のObject型である必要があります。
methodsの各関数のthisはインスタンスがバインドされていますので、アロー関数を使わないようにしたほうが良いと思われます。

これらの関数にはdataプロパティと同じようにアクセスすることができます。

また、結果を返す関数も記述ができ、内部で使用しているプロパティが変更されると再描画されます。
しかし、この書き方は推奨されていません。全てのmethodsが自分が参照していないプロパティが変更されても、実行をしてしまうためです。

この問題を解消したい場合はcomputedプロパティを使いましょう。computedプロパティは後々お話します。

まとめ

Vue.jsの基本のプロパティの紹介とその使い方をご紹介しました。

次回は、HTML側について詳しく紹介したいと思います。

ありがとうございました。


2014年02月13日

いしはら

最新版のChromeでtouch eventを有効にする方法

こんにちは。いしはらです。

久々にChrome DevToolのtouch eventを有効にしようと思い、設定画面を開いたところ、「Emulate touch events」の設定が見当たらず 設定に時間がかかってしまいました。

最新版のChromeでは下記の手順になるので 設定してみてください。

 
1.Setting1アイコンをクリック
 
2.Overridesの「Show’Emulation’view in console drawer」にチェックを入れる 2
 
3.Show console3アイコンをクリック
 
4.Emulationタブをクリックし、サイドメニューの「Sensors」を選択 「Emulate touch screen」にチェック 4
 
これで完了です。 カーソルが灰色の丸になっているとtouch eventが有効になっています 5
Chrome DevToolを非表示にしていると設定は無効になるのでご注意を。


2013年11月21日

社内行事でのHTML講習会資料の共有

こんにちは。竹島です。
先日、フリュー2014年度新卒社員さんの「就業体験」というイベントがありました。 来年入社する学生の方々が、フリューの仕事を体験してみる、といった内容なのですが、
その中で行われた、WEBページ製作が初めての方向けの、HTML講習会を担当させていただきました。
その際作成した資料を共有したいと思います。    

Html講習会資料 from 竹島 泉

  

かなり基礎的な内容になっていますので、これからWEB製作をはじめてみたい学生さんなど、ぜひ参考にしていただければと思います。