はじめてのVue.js

25
はじめての Vue.js DevLOVE 関西「 JavaScript フレームワークは AngularJS だけじゃない 2015.01.26

Transcript of はじめてのVue.js

Page 1: はじめてのVue.js

はじめてのVue.jsDevLOVE関西「JavaScriptフレームワークは

AngularJSだけじゃない」 2015.01.26

Page 2: はじめてのVue.js

自己紹介• かみやん (Twitter@kamiyam) http://nantokaworks.com

• Engineer

• JavaScript、Node.jsでお仕事をしている人

• カメラ/自動車

Page 3: はじめてのVue.js

v0.11.4 (※ 15.1.26現在)

Page 4: はじめてのVue.js

まず最初にみなさんに お伝えしなければならないことが

あります。

Page 5: はじめてのVue.js

_ 人人人人人人人人人人人 _

> Vue.js は IE8 非対応 <

‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾

Page 6: はじめてのVue.js

それでも ついてこられる皆さん()に

Page 7: はじめてのVue.js

一言で表すなら 軽量版 Angular.js

Page 8: はじめてのVue.js

Vue.js から入って

Angular.js に行った人

Page 9: はじめてのVue.js

Angular.jsapp.controller("demoCtrl", [

"$scope", "$timeout", "$modal", "socketer", "authenticationSvc", "chatRoom", function($scope, $timeout, $modal, socketer, authenticationSvc, chatRoom) {

$scope.*** $scope.***

}]);

$scopeにいろいろくっつけていくやつ

Page 10: はじめてのVue.js

Vue.jsvar app = new Vue({

el: "#demo", data: {

message: "Hello World" }, methods: {

method: function(){/* 処理 */}

}, ready: function(){}

});

Page 11: はじめてのVue.js

Vue.jsvar app = new Vue({

el: “#demo", //バインド対象のElements

data: { //ビューモデルが保持するData

message: "Hello World" }, methods: { //ビュー側で使用する関数など

method: function(){/* 処理 */}

}, ready: function(){ //初期化処理

} });

Page 12: はじめてのVue.js

DEMO

Vue.js これだけやっておけば とりあえず大丈夫

Page 13: はじめてのVue.js

DEMO・{{}} / v-text / v-html ・v-model ・v-on ・v-repeat ・v-show

Page 14: はじめてのVue.js

{{}} / v-text / v-htmlvar app = new Vue({

data: { hello: “<h1>Hello World</h1>"

} });

<p>{{hello}}</p> <p v-text="hello"></p> <p v-html="hello"></p>

Page 15: はじめてのVue.js

v-modelvar app = new Vue({

data: { message: "Hello World"

} });

<p>message</p> <input v-model="message" />

Page 16: はじめてのVue.js

v-onvar app = new Vue({

methods: { hogeMethod: function(e){}, fugaMethod: function(e){},

} });

<button v-on="click: hogeMethod, keyup : fugaMethod “> Hey

</button>

Page 17: はじめてのVue.js

v-repeatvar app = new Vue({

data: { users: [

{name: “hoge”, id:1002394}, {name: “fuga”, id:1001784}]

} });

<ul> <li v-repeat="user : users">{{user.name}}</li>

</ul>

Page 18: はじめてのVue.js

v-show

var app = new Vue({ data: {

isDone: false }

});

<p v-show=“!isDone"> Task A <p>

Page 19: はじめてのVue.js

Vue.js を使う理由

Page 20: はじめてのVue.js

Angular.js <=> Vue.js (他に比べると)移行しやすい

Page 21: はじめてのVue.js

アトリビュート 'ng-**' <=> 'v-**' で読み替える

Page 22: はじめてのVue.js

app.controller("chatCtrl", [ "$scope", "$timeout", "$modal", "socketer", "authenticationSvc", "chatRoom", function($scope, $timeout, $modal, socketer, authenticationSvc, chatRoom) { $scope.data = { room: chatRoom.getInfo(), lists: [] }; $scope.state = { isTitleView: false }; $scope.fn.information = function() {}; } ]);

参考

Page 23: はじめてのVue.js

Vue.js

・マイクロサービス / スマートフォン

・MVほにゃららの入門としてよさげ

・機能が少ない(絞られているので) ググらビリティ高い

Page 24: はじめてのVue.js

Vue.js

ソースを見てフィーリングをつかむ

http://todomvc.com/

■ TodoMVC

Page 25: はじめてのVue.js

ご清聴ありがとうございました