Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takuya Sato
PDF, PPTX
17,967 views
Vue.js入門
Vue.jsについての紹介と、1.0の変更点について
Engineering
◦
Read more
35
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 41
2
/ 41
3
/ 41
4
/ 41
5
/ 41
6
/ 41
7
/ 41
8
/ 41
9
/ 41
10
/ 41
11
/ 41
12
/ 41
13
/ 41
14
/ 41
15
/ 41
16
/ 41
17
/ 41
18
/ 41
19
/ 41
20
/ 41
21
/ 41
22
/ 41
23
/ 41
24
/ 41
25
/ 41
26
/ 41
27
/ 41
28
/ 41
29
/ 41
30
/ 41
31
/ 41
32
/ 41
33
/ 41
34
/ 41
35
/ 41
36
/ 41
37
/ 41
38
/ 41
39
/ 41
40
/ 41
41
/ 41
More Related Content
PPTX
チュートリアルではじめるVue.js
by
小川 昌吾
PPTX
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
by
Seki Yousuke
PDF
Vue.jsでさくっとMVVM
by
Satoshi Anai
PPTX
Vue.js 2.0を試してみた
by
Toshiro Shimizu
PDF
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
by
Toshihiro Kawachi
PDF
はじめてのVue.js
by
kamiyam .
PPTX
ライオンでも分かるVuejs
by
lion-man
PDF
One night Vue.js
by
Masahiro Kyuden
チュートリアルではじめるVue.js
by
小川 昌吾
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
by
Seki Yousuke
Vue.jsでさくっとMVVM
by
Satoshi Anai
Vue.js 2.0を試してみた
by
Toshiro Shimizu
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
by
Toshihiro Kawachi
はじめてのVue.js
by
kamiyam .
ライオンでも分かるVuejs
by
lion-man
One night Vue.js
by
Masahiro Kyuden
What's hot
PDF
初めてのvue.js(2.x系)
by
健人 井関
PPTX
Laravel Blade×vue.js 混在させる場合の注意点
by
誠一郎 栗原
PDF
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
by
Akira Inoue
PDF
プロダクトに 1 から Vue.js を導入した話
by
Shohei Okada
PDF
AngularJSの高速化
by
Kon Yuichi
PPTX
Angular js はまりどころ
by
Ayumi Goto
PDF
React.js + Flux
by
dsuke Takaoka
PDF
作って分かるKnockoutJS@ALM11月
by
Takuya Ueda
PPTX
React を導入したフロントエンド開発
by
daisuke-a-matsui
PDF
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
by
Yutaro Miyazaki
PDF
AngularJSでの非同期処理の話
by
Yosuke Onoue
PDF
RailsでReact.jsを動かしてみた話
by
yoshioka_cb
PDF
Progressive Framework Vue.js 2.0
by
Toshiro Shimizu
PDF
はじめてのVue.js
by
Kei Yagi
PPTX
20140517 knockoutjs hands-on
by
Seiji Noro
PPTX
エンタープライズ分野での実践AngularJS
by
Ayumi Goto
PDF
Brush up your Coding! 2013 winter
by
Shogo Sensui
PDF
Knockout.js を利用したインタラクティブ web アプリケーション開発
by
Daizen Ikehara
PDF
Start React with Browserify
by
Muyuu Fujita
PDF
DevLOVE Kansai KnockoutJS
by
Go Tanaka
初めてのvue.js(2.x系)
by
健人 井関
Laravel Blade×vue.js 混在させる場合の注意点
by
誠一郎 栗原
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
by
Akira Inoue
プロダクトに 1 から Vue.js を導入した話
by
Shohei Okada
AngularJSの高速化
by
Kon Yuichi
Angular js はまりどころ
by
Ayumi Goto
React.js + Flux
by
dsuke Takaoka
作って分かるKnockoutJS@ALM11月
by
Takuya Ueda
React を導入したフロントエンド開発
by
daisuke-a-matsui
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
by
Yutaro Miyazaki
AngularJSでの非同期処理の話
by
Yosuke Onoue
RailsでReact.jsを動かしてみた話
by
yoshioka_cb
Progressive Framework Vue.js 2.0
by
Toshiro Shimizu
はじめてのVue.js
by
Kei Yagi
20140517 knockoutjs hands-on
by
Seiji Noro
エンタープライズ分野での実践AngularJS
by
Ayumi Goto
Brush up your Coding! 2013 winter
by
Shogo Sensui
Knockout.js を利用したインタラクティブ web アプリケーション開発
by
Daizen Ikehara
Start React with Browserify
by
Muyuu Fujita
DevLOVE Kansai KnockoutJS
by
Go Tanaka
Similar to Vue.js入門
PDF
Vue入門
by
Takeo Noda
PDF
Vue.js で XSS
by
tobaru_yuta
PDF
Laravel vue-project-upload
by
小川 昌吾
PDF
Vue.js Outline
by
Kei Yagi
PDF
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
by
虎の穴 開発室
PDF
Vue.jsの関連ツール・ライブラリ(Vuex, Vue-Router, Nuxt)
by
Kei Yagi
PPTX
20200304 vuejs
by
yamamotomsc
PDF
Vue Router + Vuex
by
Kei Yagi
PDF
Vue.js 基礎 + Vue CLI の使い方
by
Kei Yagi
PPTX
Learn vue.js
by
yuxiang21
PPTX
JavaScriptフレームワーク入門にVue.jsはいかが?
by
好洋 山崎
PPTX
Saitowotsukutsutemita
by
hmatumoto
PDF
翻訳から始めるVue.js 入門
by
Makoto Chiba
PDF
Vue.jsで遊んでみよう
by
シオリ ショウノ
PDF
0728
by
卓馬 三浦卓馬
PDF
Vu
by
卓馬 三浦卓馬
PPTX
Vue.js
by
卓馬 三浦卓馬
PDF
【20211022_toranoana@LT#Vue3】Vue2からVue3にして困ったところ
by
虎の穴 開発室
PDF
Vue
by
卓馬 三浦
PDF
Vuejs meetup
by
Kamimura Taichi
Vue入門
by
Takeo Noda
Vue.js で XSS
by
tobaru_yuta
Laravel vue-project-upload
by
小川 昌吾
Vue.js Outline
by
Kei Yagi
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
by
虎の穴 開発室
Vue.jsの関連ツール・ライブラリ(Vuex, Vue-Router, Nuxt)
by
Kei Yagi
20200304 vuejs
by
yamamotomsc
Vue Router + Vuex
by
Kei Yagi
Vue.js 基礎 + Vue CLI の使い方
by
Kei Yagi
Learn vue.js
by
yuxiang21
JavaScriptフレームワーク入門にVue.jsはいかが?
by
好洋 山崎
Saitowotsukutsutemita
by
hmatumoto
翻訳から始めるVue.js 入門
by
Makoto Chiba
Vue.jsで遊んでみよう
by
シオリ ショウノ
0728
by
卓馬 三浦卓馬
Vu
by
卓馬 三浦卓馬
Vue.js
by
卓馬 三浦卓馬
【20211022_toranoana@LT#Vue3】Vue2からVue3にして困ったところ
by
虎の穴 開発室
Vue
by
卓馬 三浦
Vuejs meetup
by
Kamimura Taichi
More from Takuya Sato
PPT
2009年のPHPフレームワーク
by
Takuya Sato
ODP
本当は怖いPHP
by
Takuya Sato
PDF
PHPでセキュリティを真面目に考える
by
Takuya Sato
PPTX
設計と実装で 抑えておきたい サービスクラスと例外
by
Takuya Sato
PDF
レガシープロダクトを改善していくための戦い方
by
Takuya Sato
PDF
Silex入門
by
Takuya Sato
PPTX
PHPとMongoDBで学ぶ次世代データストア
by
Takuya Sato
PDF
本番環境で使いたいPHP
by
Takuya Sato
PDF
フレームワーク使おうぜ!
by
Takuya Sato
PDF
徹底攻略!PHP5.4
by
Takuya Sato
PPTX
Redmineで始めるチケット駆動開発
by
Takuya Sato
PPTX
ここがすごい! なぞとPHP5.3
by
Takuya Sato
2009年のPHPフレームワーク
by
Takuya Sato
本当は怖いPHP
by
Takuya Sato
PHPでセキュリティを真面目に考える
by
Takuya Sato
設計と実装で 抑えておきたい サービスクラスと例外
by
Takuya Sato
レガシープロダクトを改善していくための戦い方
by
Takuya Sato
Silex入門
by
Takuya Sato
PHPとMongoDBで学ぶ次世代データストア
by
Takuya Sato
本番環境で使いたいPHP
by
Takuya Sato
フレームワーク使おうぜ!
by
Takuya Sato
徹底攻略!PHP5.4
by
Takuya Sato
Redmineで始めるチケット駆動開発
by
Takuya Sato
ここがすごい! なぞとPHP5.3
by
Takuya Sato
Vue.js入門
1.
Vue.js入門(1.0対応) UUUM株式会社 システムユニット 佐藤琢哉
2.
UUUMではエンジニア積極採用中! Web インフラ(AWS) サーバ(PHP) クライアント(HTML/CSS/JS) アプリ(iOS/Android) 詳細は でhttp://www.uuum.jp/recruit/
3.
Vue.jsとは JavaScriptのMVVMフレームワーク 軽量 フルスタックではない
4.
MVVM? Model-View-ViewModel View=UI、つまりHTML Model=データ、JavaScriptのオブジェクト ViewModel=UIとデータを繋ぐ部分、Vue.jsのオブジェ クト
5.
jQueryは何が悪かったのか? プレゼンテーションとロジックが混ざりやすい 手続き型 「データをセットする」という処理を明記しないとい けない どこで何のデータが管理されているのかわからなくなる 表示のロジックを変更したいのか、データに関するロジ ックを変更したいのかがわからない ただし用途を間違えなければ今でも十分使える
6.
MVVMの設計 表示に関することはViewで データに関することはModelで データと表示のつなぎ込みはViewで わかりやすい リアクティブ・プログラミングによる実現
7.
リアクティブ・プログラミング Reactive=反応的な データの変更がそのままViewにすぐ同期される 普通:data = 1;
view.setData(data); リアクティブ:data = 1; // この時点でviewにはもう反映 されている ビジネスロジックが、ModelとViewの対応を知らなくて も良い
8.
Vue.jsは何が優れているか 軽量 余計な機能やMVVMと関係ない機能は搭載されていな い ドキュメントも少ないため、学習コストが低い (かつ)拡張性が高い コンポーネントシステム フィルタ mixin ほどほどに使いやすい(重要) 好みとも言える
9.
1.0での変更点 テンプレート記法の追加 普通のHTML属性に「:」を足すとv-bindに <a :href="someURL"></a> 普通のHTML属性に「@」を足すとv-onに <button @click="onClick"></button>
10.
1.0での変更点 新記法v-foo:barの追加 NG : <div
v-on="click: doThis, keyup: doThat"> OK : <div v-on:click="doThis" v- on:keyup="doThat"> Mustache記法がVue.jsのプロパテイ下で使えなくなった NG : <component is="{{view}}"></component> OK : <component v-bind:is="view"></component> OK : <a href="{{baseURL}}/abc"></a>
11.
1.0での変更点 stopPropagation()やpreventDefault()が簡単に呼べる <a v-on:click.stop="doThis"></a> <form v-on:submit.prevent></form>
12.
1.0での変更点 checkboxを1つのv-modelで扱えるようになった ↑の場合、checkedNamesはArrayであること <input type="checkbox" value="Jack"
v-model="checkedNames"> <input type="checkbox" value="John" v-model="checkedNames"> <input type="checkbox" value="Mike" v-model="checkedNames">
13.
1.0での変更点 v-elseの追加 直前のv-ifやv-showに対するelseを実行できる <div v-if="Math.random() >
0.5"> Sorry </div> <div v-else> Not sorry </div>
14.
1.0での変更点 詳細は http://vuejs.org/2015/10/26/1.0.0-release/ https://github.com/vuejs/vue/releases/tag/1.0.0
15.
使ってみよう!
16.
基本 <div id="view">ここがVue.js管理領域</div> <script src="vue.js"><
/script> <script> new Vue({ el: '#view' }); < /script>
17.
基本 new Vue(); で作成されたオブジェクトがViewModel el
プロパティで、DOMのどの領域をVue.jsの管理領域に するか決める(=View) 管理外の領域に対しては何もしない
18.
データバインディング <div v-text="message"></div> new Vue({ data:
{ message: 'hello!' } });
19.
データバインディング data プロパティがModel そのものになる ただしちょっと癖がある data.message
に何かを指定すると、 v-text="message" の 領域の中身が即座に書き換えられる
20.
イベントの取得 <button @click="submit">決定</button> new Vue({ methods:
{ submit: function() { alert('hello!'); } } });
21.
イベントの取得 JSのイベント名の前に@を付けた属性に、実行メソッド を指定 v-on="click: submit"でも可 引数も指定できる それってHTMLにロジック書いてない?関心の分離 (SoC)はどこに行った? Vue.jsの管理メソッドにしかバインドできない ViewModel内からDOM構造っぽいもの(イベントハン ドラ)を排除できる HTMLを見るだけでどこにイベントがあるのかわかる ようになる
22.
リスト表示 <ul> <li v-for="item in
items">{{ item.value }}</li> </ul> new Vue({ data: { items: [ { value: 1}, { value: 2} ]} });
23.
リスト表示 v-for でループ式を指定すると、それの中身が繰り返され て展開される v-for="one in
list" orderも指定できる リストへのデータの追加は、 $set や$remove で行う必要 がある 普通に追加すると変更がViewに通知されない はまりやすいポイント
24.
Mustache記法 ますたっしゅ? 様々な言語に移植されているメジャーなテンプレートエ ンジン Vue.js 管理下のDOMでこの記法を使うと、Modelの変数 をその位置に表示することができる {{ }}
が他のテンプレートエンジンの記法と被る時は Vue.config.delimiters = ['{%', '%}']; のようにして変更す ることが可能 ただしVue.jsの初期化が完了するまでは{{ message }} のよ うな表示がそのまま画面に表示されてしまうため、可能 な限りv-text等を使うのが良い 1.0になって使える場面が減った
25.
フォーム <input type="text" v-model="name"
/> <button @click="hello"></button> new Vue({ data: { name: null }, // 省略可 methods: { hello: function() { alert('hello ' + this.name); } } });
26.
フォーム v-model で、フォーム要素のvalueの値へのバインディン グができる < select
>もv-modelで HTMLにnumber プロパティがあると数値型になる
27.
フィルタ <div v-text="message |
uppercase"></div> | で繋ぐと、フィルタメソッドが実行されて表示される 組み込みのフィルタは多くないが、自作は簡単なので、 複雑なフィルタも作成できる
28.
inline expressions <div v-text=”last_name
+ ' ' + first_name”></div> v-textやテンプレート等の中で簡単な演算ができる 難しいことをしたい場合はcomputed propertiesで
29.
computed properies <div v-text="full_name"></div> new
Vue({ data: { first_name: 'sato', last_name: 'takuya' }, computed: { full_name: function() { return last_name + ' ' + first_name; } } });
30.
コンポーネントシステム Vue.js管理下のHTML内に独自タグを定義することができ る 独自タグの中身は別の箇所のHTMLをはめ込むことがで きる WebComponentsっぽい!(気がする) React.jsっぽい!(そうか?) 何回も使うようなHTML集合をコンポーネントとして汎 用化することができる
31.
表示制御 <div v-show="isVisible">show!</div> new Vue({ data:
{ isVisible: false } });
32.
表示制御 v-show の中身がtrue と判定される場合のみに表示する false
の場合はdisplay: none にする v-if の場合は要素が削除される CSSのアニメーション制御も可能 CSSのクラスやHTMLのプロパティのON/OFF制御も可能
33.
実践例 管理画面に適用するとすぐ使える 例えば、入力欄Aが特定の値の場合のみ入力欄Bを表示 する 例えば、金額を入力すると即座に消費税込みの金額を 表示する
34.
入力欄Aが特定値の場合入力欄Bを表示 <select v-model="type"> <option value="user">ユーザー</option> <option
value="admin">管理者</option> </select> <div v-show="type == 'admin'"> <h3>管理者限定の設定</h3> <p>管理者ID : <input type="text"></p> </div>
35.
金額を入力すると消費税込の値を表示 <p>金額 <input type="text"
v-model="price" number></p> <p>税込 : <span v-text="priceWithTax"></span></p> new Vue({ computed: { priceWithTax: function() { return Math.floor(price * 1.08); } } });
36.
管理画面で使う ほとんどJavaScriptを書く必要がない Vue.jsの組み込み機能だけで表示非表示の制御ができ る ちょっとした編集値の表示もすぐできる 入力数が可変のフォームを作るのも簡単 v-forとリストの組み合わせ
37.
複雑なことをする場合 Browserify等を使ってモジュール化しよう 通信は搭載されていないので他のライブラリを使おう 公式でvue-resource コンポーネントが用意されている jQueryでもいい テストを書こう プレゼンテーションとロジックが分離されているので 書きやすいはず
38.
Vue.jsを使う上で避けたいこと Vue.js内でDOMの書き換えを直接書く ほとんどの場合で必要ない ドラッグ&ドロップ等で必要になることはあるが、な るべくcomponent化などで最小限にすべき
39.
Vue.jsを使う上で避けたいこと methodsを書きすぎる methods=Controllerに近い テストのしやすさを考える 通信が入る部分などはPromiseを使いうまく分離する methodsが太り過ぎる場合は外部に逃す
40.
Vue.jsを使う上で避けたいこと Vue.js管理外のDOMを操作する 管理されている箇所以外を操作してしまうと、何が何 だかわからなくなる そもそも直接書き換えが入っている時点で駄目 画面内に複数のVue.js領域がある場合、それらは個別のも のとして扱う 連携が必要な場合はコンポーネントで
41.
まとめ Vue.jsは特に管理画面などで強力 Vue.jsを使っても書き方によっては汚くなる 画面表示に関するロジックはMVVMを意識しよう
Download