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
EN
Uploaded by
Masahiro Kyuden
PDF, PPTX
3,455 views
One night Vue.js
Vue.js tutorial for biginer https://github.com/Kyuden/one-night-vue
Software
◦
Read more
10
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 77
2
/ 77
3
/ 77
4
/ 77
5
/ 77
6
/ 77
7
/ 77
8
/ 77
9
/ 77
10
/ 77
11
/ 77
12
/ 77
13
/ 77
14
/ 77
15
/ 77
16
/ 77
17
/ 77
18
/ 77
19
/ 77
20
/ 77
21
/ 77
22
/ 77
23
/ 77
24
/ 77
25
/ 77
26
/ 77
27
/ 77
28
/ 77
29
/ 77
30
/ 77
31
/ 77
32
/ 77
33
/ 77
34
/ 77
35
/ 77
36
/ 77
37
/ 77
38
/ 77
39
/ 77
40
/ 77
41
/ 77
42
/ 77
43
/ 77
44
/ 77
45
/ 77
46
/ 77
47
/ 77
48
/ 77
49
/ 77
50
/ 77
51
/ 77
52
/ 77
53
/ 77
54
/ 77
55
/ 77
56
/ 77
57
/ 77
58
/ 77
59
/ 77
60
/ 77
61
/ 77
62
/ 77
63
/ 77
64
/ 77
65
/ 77
66
/ 77
67
/ 77
68
/ 77
69
/ 77
70
/ 77
71
/ 77
72
/ 77
73
/ 77
74
/ 77
75
/ 77
76
/ 77
77
/ 77
More Related Content
PDF
Progressive Framework Vue.js 2.0
by
Toshiro Shimizu
PDF
Vue.jsでさくっとMVVM
by
Satoshi Anai
PDF
Vue.js入門
by
Takuya Sato
PPTX
Vue.js 2.0を試してみた
by
Toshiro Shimizu
PDF
Start React with Browserify
by
Muyuu Fujita
PDF
はじめてのVue.js
by
kamiyam .
PPTX
チュートリアルではじめるVue.js
by
小川 昌吾
PDF
翻訳から始めるVue.js 入門
by
Makoto Chiba
Progressive Framework Vue.js 2.0
by
Toshiro Shimizu
Vue.jsでさくっとMVVM
by
Satoshi Anai
Vue.js入門
by
Takuya Sato
Vue.js 2.0を試してみた
by
Toshiro Shimizu
Start React with Browserify
by
Muyuu Fujita
はじめてのVue.js
by
kamiyam .
チュートリアルではじめるVue.js
by
小川 昌吾
翻訳から始めるVue.js 入門
by
Makoto Chiba
What's hot
PDF
Vue Router + Vuex
by
Kei Yagi
PDF
プロダクトに 1 から Vue.js を導入した話
by
Shohei Okada
PDF
Flask勉強会その1
by
Masato Kawamura
PDF
AngularJSでの非同期処理の話
by
Yosuke Onoue
PDF
はじめてのVue.js
by
Kei Yagi
PDF
PHP 2大 web フレームワークの徹底比較!
by
Shohei Okada
PDF
Async Enhancement
by
kamiyam .
PDF
Vue.js 基礎 + Vue CLI の使い方
by
Kei Yagi
PDF
The master plan ofscaling a web application
by
Yusuke Wada
PDF
ソーシャルアプリ勉強会(第一回資料)配布用
by
Yatabe Terumasa
PDF
React入門-JSONを取得して表示する
by
regret raym
PDF
Pyramid入門
by
Atsushi Odagiri
PDF
Using SockJS(Websocket) with Sencha Ext JS
by
Kazuhiro Kotsutsumi
PDF
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
by
Yutaro Miyazaki
PDF
React.jsでクライアントサイドなWebアプリ入門
by
spring_raining
PDF
WKWebViewとUIWebView
by
Yuki Hirai
PDF
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
by
Toshiaki Maki
PDF
サーバサイドで動的にhtml生成していたりjQueryをガッツし使っている既存プロジェクトにAngularJSを部分的につっこんでみた @jscafe21
by
佐藤 俊太郎
PDF
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
by
miso- soup3
PDF
はじめよう Backbone.js
by
Hiroki Toyokawa
Vue Router + Vuex
by
Kei Yagi
プロダクトに 1 から Vue.js を導入した話
by
Shohei Okada
Flask勉強会その1
by
Masato Kawamura
AngularJSでの非同期処理の話
by
Yosuke Onoue
はじめてのVue.js
by
Kei Yagi
PHP 2大 web フレームワークの徹底比較!
by
Shohei Okada
Async Enhancement
by
kamiyam .
Vue.js 基礎 + Vue CLI の使い方
by
Kei Yagi
The master plan ofscaling a web application
by
Yusuke Wada
ソーシャルアプリ勉強会(第一回資料)配布用
by
Yatabe Terumasa
React入門-JSONを取得して表示する
by
regret raym
Pyramid入門
by
Atsushi Odagiri
Using SockJS(Websocket) with Sencha Ext JS
by
Kazuhiro Kotsutsumi
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
by
Yutaro Miyazaki
React.jsでクライアントサイドなWebアプリ入門
by
spring_raining
WKWebViewとUIWebView
by
Yuki Hirai
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
by
Toshiaki Maki
サーバサイドで動的にhtml生成していたりjQueryをガッツし使っている既存プロジェクトにAngularJSを部分的につっこんでみた @jscafe21
by
佐藤 俊太郎
Hokuriku.NET ASP.NET MVC入門 「実践」 20120825
by
miso- soup3
はじめよう Backbone.js
by
Hiroki Toyokawa
Similar to One night Vue.js
PDF
Vue.jsの関連ツール・ライブラリ(Vuex, Vue-Router, Nuxt)
by
Kei Yagi
PDF
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
by
虎の穴 開発室
PDF
実践Knockout
by
Kazuhiro Eguchi
PDF
初めてのvue.js(2.x系)
by
健人 井関
PDF
Vue.jsで遊んでみよう
by
シオリ ショウノ
PDF
Vue入門
by
Takeo Noda
PPTX
20200304 vuejs
by
yamamotomsc
PDF
Xamarin で ReactiveUI を使ってみた
by
Hironov OKUYAMA
KEY
Knockout
by
Kazuhiro Eguchi
PPT
20130924 Picomon CRH勉強会
by
Yukihiro Kitazawa
PPTX
JavaScriptフレームワーク入門にVue.jsはいかが?
by
好洋 山崎
PDF
Vue.js で XSS
by
tobaru_yuta
PDF
WordPress REST API と Vue.js を使ったフロントエンド開発
by
Hiromasa Tanaka
PPTX
Saitowotsukutsutemita
by
hmatumoto
PDF
Knockout handson
by
Go Tanaka
PDF
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
by
Jumpei Ogawa
PDF
Backbone.js
by
daisuke shimizu
PDF
React.js + Flux入門 #scripty02
by
Yahoo!デベロッパーネットワーク
PDF
Introduction for Browser Side MVC
by
Ryunosuke SATO
PPTX
ライオンでも分かるVuejs
by
lion-man
Vue.jsの関連ツール・ライブラリ(Vuex, Vue-Router, Nuxt)
by
Kei Yagi
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
by
虎の穴 開発室
実践Knockout
by
Kazuhiro Eguchi
初めてのvue.js(2.x系)
by
健人 井関
Vue.jsで遊んでみよう
by
シオリ ショウノ
Vue入門
by
Takeo Noda
20200304 vuejs
by
yamamotomsc
Xamarin で ReactiveUI を使ってみた
by
Hironov OKUYAMA
Knockout
by
Kazuhiro Eguchi
20130924 Picomon CRH勉強会
by
Yukihiro Kitazawa
JavaScriptフレームワーク入門にVue.jsはいかが?
by
好洋 山崎
Vue.js で XSS
by
tobaru_yuta
WordPress REST API と Vue.js を使ったフロントエンド開発
by
Hiromasa Tanaka
Saitowotsukutsutemita
by
hmatumoto
Knockout handson
by
Go Tanaka
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
by
Jumpei Ogawa
Backbone.js
by
daisuke shimizu
React.js + Flux入門 #scripty02
by
Yahoo!デベロッパーネットワーク
Introduction for Browser Side MVC
by
Ryunosuke SATO
ライオンでも分かるVuejs
by
lion-man
One night Vue.js
1.
One Night Vue.js
万葉究楽部
2.
profile 株式会社万葉 /
@Kyuden_
3.
Vue.js 事例紹介 こんな感じの通知機能が20分位※で作れました。それくらい扱いやすいです。
※デザインの時間は除く
4.
Vue.jsさわってみましょう
5.
環境構築 CloneしてREADME.mdを読んでね https://github.com/Kyuden/one-night-vue
6.
Stage 1 双方向バインディングを体験
7.
2 staps 1.
ブラウザで表示 • www/demo1.html 2. コードから処理を推測 • coffee/demo1.coffee • haml/demo1.haml
8.
thinking time
9.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
10.
Vue VueクラスのコンストラクタでViewModelを作成 VueModelではなくViewModel
11.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body 以下の初期値をVueクラスのコンストラクタに渡し ViewModelを作成している el: "#demo1" data: message: "Hello Vue" #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
12.
next
13.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
14.
el ViewModelに紐付けるDOM要素を指定 1つのViewModelには一つのDOMしか紐付けることが出来ないのでIDで指定
15.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: s #demo1のDOMを指定している message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"} #demo1のDOMがViewModelを紐づく
16.
coffee/demo1.coffee ! new
Vue el: "#demo2" s data: message: "Hello Vue" haml/demo1.haml ! %body #demo1を#demo2に変更すると ViewModelの管理外となるので動作しない #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
17.
next
18.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
19.
data ViewModelが保持するデータを定義 ViewModelのプロパティにアクセスするプロキシと言っても良い
20.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body data配下にmessageプロパティとして 初期値 ‘’Hello Vue’’ を定義している #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
21.
next
22.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
23.
v-text DOM要素の内側をViewModelのプロパティ値でバインディングする v-◯◯◯をDirectiveと呼ぶ。EX)
v-textディレクティブ
24.
coffe/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"} messageプロパティ値"Hello Vue”が %pタグ内にバインディングされる
25.
next
26.
coffee/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"}
27.
v-model %inputや%selectや%textareaなど編集可能な要素を使用し ViewとViewModle間で双方向データバインディングを行う
データは常に同期される(同期のタイミングを指定するオプションも存在する)
28.
coffe/demo1.coffee ! new
Vue el: "#demo1" data: message: "Hello Vue" haml/demo1.haml ! %body #demo1 %p{"v-text" => "message"} %input{"v-model" => "message"} %input要素への入力値に応じて messageプロパティ値が更新される %input要素への入力値に応じて messageプロパティ値を同期させる
29.
Stage 1 End
30.
Stage 2 {{
}}
31.
2 staps 1.
ブラウザで表示 • www/demo2.html 2. コードから処理を推測 • coffee/demo2.coffee • haml/demo2.haml 以後省略(全Stage同じです)
32.
thinking time
33.
coffee/demo2.coffee ! new
Vue el: "#demo2" data: user: firstName: "Masahiro" lastName: "kyuden" haml/demo2.haml ! #demo2 %p {{ 'hello' + ' ' + user.firstName + ' ' + user.lastName }}
34.
{{ }} Mustacheはv-textとしてコンパイルされる
Mustacheテキスト以外にHTML属性指定でも使用することができる
35.
coffee/demo2.coffee ! new
Vue el: "#demo2" data: user: firstName: "Masahiro" lastName: "kyuden" haml/demo2.haml ! #demo2 %p {{ 'hello' + ' ' + user.firstName + ' ' + user.lastName }} %p{"v-text" => "'hello ' + user.firstName + ' ' + user.lastName"}
36.
Stage 2 End
37.
Stage 3 色々なDirectiveを使ってみよう
38.
thinking time
39.
coffee/demo3.coffee ! new
Vue el: '#demo3' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo3.haml ! #demo3 %ul /step① %li{"v-repeat" => "todos"} {{content}}
40.
v-repeat 配列を指定する事で子のViewModelを作成する (配列の要素の数だけ繰り返し実行される)
引数がない場合はViewModelのDataを配列として扱う
41.
coffee/demo3.coffee ! new
Vue el: '#demo3' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo3.haml ! #demo3 %ul /step① %li{"v-repeat" => "todos"} {{content}} 配列であるtodosを与えると要素数分作成さ れる。
42.
next
43.
coffee/demo3.coffee ! new
Vue el: '#demo3' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo3.haml ! #demo3 %ul sass/style.sass ! li.done text-decoration: line-through /step② %li{class: "{{done ? 'done' : ''}}", "v-repeat" => "todos"} {{content}}
44.
{{ }} MustacheのBindingはHTML属性指定でも有効
ただし%imgのsrc指定はv-attrを使用するべき。 ブラウザ評価時にMustache形式のままHTTPリクエストを発行し404が起きるため
45.
next
46.
coffee/demo3.coffee ! new
Vue el: '#demo3' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo3.haml ! #demo3 %ul /step③ %li{class: "{{done ? 'done' : ''}}", "v-repeat" => "todos", "v-on" => "click: done = !done"} {{content}}
47.
v-on イベントリスナーを要素に登録する。関数か式を引数で評価する。 キータイプイベントなども用意されている
48.
coffee/demo3.coffee ! new
Vue el: '#demo3' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo3.haml ! #demo3 %ul /step③ %li{class: "{{done ? 'done' : ''}}", "v-repeat" => "todos", "v-on" => "click: done = !done"} {{content}} clickされた時に do ne = !d one を評価する
49.
Stage 3 End
50.
Stage 4 filterを使ってみよう
51.
thinking time
52.
coffee/demo4.coffee ! new
Vue el: '#demo4' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo4.haml ! #demo4 %ul %li{class: "{{done ? 'done' : ''}}", "v-repeat" => "todos", "v-on" => "click: done = !done"} /step① {{content | uppercase}}
53.
| 任意のフィルターで値を処理することができる ディレクティブごとにフィルターの使用用途は異なる
54.
coffee/demo4.coffee ! new
Vue el: '#demo4' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo4.haml ! #demo4 %ul %li{class: "{{done ? 'done' : ''}}", "v-repeat" => "todos", "v-on" => "click: done = !done"} /step① {{content | uppercase}} Contentに対しuppercaseフィルターを通し バインディングを行う
55.
coffee/demo4.coffee ! new
Vue el: '#demo4' data: todos: [ { done: true content: 'Learn JS' } { done: false content: 'Learn vue.js' } { done: true content: 'Lean yourself' } ] haml/demo4.haml ! #demo4 %ul %li{class: "{{done ? 'done' : ''}}", "v-repeat" => "todos", "v-on" => "click: done = !done"} /step② {{content | uppercase | lowercase}} 復数のフィルターを掛ける事ができる
56.
Stage 4 End
57.
Stage 5 methodを使ってみよう
58.
thinking time
59.
coffee/demo5.coffee ! new
Vue el: '#demo5' data: nameList: [] displayName: "" newName: "" methods: addName: -> @displayName = @newName @newName = "" haml/demo5.haml ! #demo5 %p {{displayName}} %input{ "v-model" => "newName", "v-on" => "keyup:addName | key enter"}
60.
methods methods配下にメソッドを定義する 定義されたメソッドはdirectiveから直接呼ぶことができる
61.
coffee/demo5.coffee ! new
Vue el: '#demo5' data: nameList: [] displayName: "" newName: "" methods: addName: -> @displayName = @newName @newName = "" methodのコンテキストはViewModel のインスタンスになる haml/demo5.haml ! #demo5 %p {{displayName}} %input{ "v-model" => "newName", "v-on" => "keyup:addName | key enter"} v-onではkeyイベントをフィルターで 制御することができる
62.
Stage 5 End
63.
!
64.
TODOアプリを作ってみよう
65.
TODOアプリ仕様
66.
実装ファイル • coffee/demo6-1.coffee
• haml/demo6-1.haml
67.
Answer • coffee/demo6-2.coffee
• haml/demo6-2.haml
68.
demo7も用意してあるので Vueに興味が湧いた方は読んでみてください
69.
少しだけVue.jsの雰囲気をつかめたでしょうか?
70.
特徴
71.
Simple • APIがsimpleで機能も少なく学習コストが低い
• ViewModelをインスタンス化するだけで使い始める事ができる 公式guideを読むのがおすすめ。一日あれば十分に読める
72.
Fast ! •
TodoMVC projectのベンチマークテスト(非公式)で最も早い • IE8以下に対応していないため、JSの新機能の恩恵を得られる設計と なっているのが大きいかもしれない
73.
Flexible • 他のライブラリと合わせて使用する事ができる
• 他のライブラリに依存していない Lo-Dash.jsなど慣れしたんだライブラリと組み合わせて使うことができる
74.
next step
75.
Read guide http://vuejs.org/guide/
76.
Give me github
star https://github.com/Kyuden/one-night-vue
77.
参考文献 • http://vuejs.org/guide/
• http://todomvc.com/examples/vue/
Download