Início
Conheça mais
Enviar pesquisa
Carregar
Entrar
Cadastre-se
Anúncio
Check these out next
エンタープライヤーのためのWeb Componentsハンズオン
Mitsuru Ogawa
【ABC2014Spring LT】AngularJSでWEBアプリ開発
Hiroyuki Kusu
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
学 松崎
開発ライフサイクルから見たAngularJS
Mizuho Sakamaki
Enterprise x AngularJS
Kenichi Kanai
STORES.jpのそだてかた
Keisuke Makino
これからフロントエンジニアを目指すあなたへ
Mitsuru Ogawa
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
アシアル株式会社
1
de
33
Top clipped slide
AngularJS入門の巻
11 de May de 2014
•
0 gostou
47 gostaram
×
Seja o primeiro a gostar disto
mostrar mais
•
12,808 visualizações
visualizações
×
Vistos totais
0
No Slideshare
0
De incorporações
0
Número de incorporações
0
Baixar agora
Baixar para ler offline
Denunciar
2014/5/11(日)第8回福岡市西区プログラム勉強会 ”福岡の西の果てでIT系の総合勉強会”
Toshio Ehara
Seguir
技術・開発担当 em 株式会社 キャム
Anúncio
Anúncio
Anúncio
Recomendados
AngularJS入門の巻2
Toshio Ehara
6.8K visualizações
•
32 slides
今後のWeb開発の未来を考えてangularJSにしました
Mitsuru Ogawa
25.8K visualizações
•
21 slides
AngularJSで業務システムUI部品化
Toshio Ehara
4.1K visualizações
•
27 slides
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
tomonari takahashi
1.2K visualizações
•
75 slides
noteをAngularJSで構築した話
Kon Yuichi
27.4K visualizações
•
40 slides
STORES.jp x AngularJS
Keisuke Makino
10.8K visualizações
•
38 slides
Mais conteúdo relacionado
Apresentações para você
(20)
エンタープライヤーのためのWeb Componentsハンズオン
Mitsuru Ogawa
•
2.9K visualizações
【ABC2014Spring LT】AngularJSでWEBアプリ開発
Hiroyuki Kusu
•
5.2K visualizações
Spring Boot + Doma + AngularJSで作るERP 〜JavaQneバージョン〜 #jqfk
学 松崎
•
4.3K visualizações
開発ライフサイクルから見たAngularJS
Mizuho Sakamaki
•
25.3K visualizações
Enterprise x AngularJS
Kenichi Kanai
•
15.6K visualizações
STORES.jpのそだてかた
Keisuke Makino
•
2.6K visualizações
これからフロントエンジニアを目指すあなたへ
Mitsuru Ogawa
•
7.9K visualizações
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
アシアル株式会社
•
50.2K visualizações
Service Workers Push API Hands-on
Takenori Nakagawa
•
4.6K visualizações
Angular js開発事例
Shun Takeyama
•
3.7K visualizações
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
•
72.6K visualizações
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
Shumpei Shiraishi
•
39.8K visualizações
Angular2
Kenichi Kanai
•
2.7K visualizações
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
Horiguchi Seito
•
7.9K visualizações
Angular jsの継続的なバージョンアップ
Kazuyoshi Tsuchiya
•
13.4K visualizações
AngularJSのDirectiveで俺俺タグつくっちゃお
Toshio Ehara
•
3.1K visualizações
[社内勉強会]SPAのすすめ
hirooooo
•
865 visualizações
Service Workers
Takenori Nakagawa
•
1.4K visualizações
Spring Boot + Doma + AngularJSで作るERP (LINE Fukuoka Meetup版)
学 松崎
•
3.7K visualizações
Java開発で活かしてほしいGit,CI,そして継続的デリバリー #jjug_ccc #ccc_r13
智治 長沢
•
5K visualizações
Similar a AngularJS入門の巻
(20)
AngularJS+TypeScriptを試してみた。
Toshio Ehara
•
4.2K visualizações
メンテナンス性の良いWebシステムを構築するためにjavaとフロントエンドでやるべきこと
Mitsuru Ogawa
•
17.7K visualizações
JAWS-UGにゴマをすろうと思ってAWSでHTML5してみた
Masakazu Muraoka
•
1.6K visualizações
20140705 オンプレからクラウドへの「変化」 - jawsug santo 2014
Takuya Oketani
•
1.8K visualizações
JAWS-UG初心者支部 AWS書籍活用術
Takuro Sasaki
•
18.9K visualizações
pairsでのAngularJS x TypeScript x e2e @めぐすた#1
Takuma Morikawa
•
3.6K visualizações
20151028 JAWS-UG 大阪 Special re:Invent 2015報告会 / re:Invent2015で見た未来 - jawsug o...
Takuya Oketani
•
933 visualizações
How to develop a huge Single Page Application
Naoki Yamada
•
3.2K visualizações
Backbonejs @BuildInsiderOffline #1
daisuke shimizu
•
18.3K visualizações
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Shuji Watanabe
•
6K visualizações
Jawsug osaka10 service®ions
Takuro Sasaki
•
7K visualizações
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Dai Iwai
•
1.7K visualizações
BACKBONE.JSによるWebアプリケーション開発について
Toshio Ehara
•
41.3K visualizações
我が家のフロントエンド開発事情
Naoki Yamada
•
3.9K visualizações
ビギナーがUNIQLOCKもどきを作ってみた
Taisuke Ozaki
•
1.6K visualizações
Amplify Console使ってみたらいい感じ
Osamu Hashimoto
•
203 visualizações
JAWS-UG 各支部紹介スライド in AWS Summit Tokyo 2018
Shigeru Numaguchi
•
395 visualizações
20200912 昔、オンプレミスでやっていたことを AWS でやるとどうなるか
Masaru Ogura
•
506 visualizações
俺と超高速リアルタイム検索APIをたぶん支えているAWS
Masayuki KaToH
•
284 visualizações
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
Tomoaki Imai
•
2.5K visualizações
Anúncio
Mais de Toshio Ehara
(20)
iPhoneアプリを Javaで書くよ?
Toshio Ehara
•
2.8K visualizações
Java初心者勉強会(2015/08/07)資料
Toshio Ehara
•
2.1K visualizações
Java電卓勉強会資料
Toshio Ehara
•
1.7K visualizações
BABELで、ES2015(ES6)を学ぼう!
Toshio Ehara
•
2.1K visualizações
traceur-compilerで ECMAScript6を体験
Toshio Ehara
•
1.2K visualizações
traceur-compilerで未来のJavaScriptを体験
Toshio Ehara
•
1.9K visualizações
JenkinsをJava開発でこんな感じで使っています
Toshio Ehara
•
12.6K visualizações
HTML5のCanvas入門 - Img画像を編集してみよう -
Toshio Ehara
•
15.9K visualizações
BACKBONEJS+SCSS+JavaEE(JAX-RS) 今風のWebアプリをNetBeansで入門!
Toshio Ehara
•
9.1K visualizações
福岡のIT勉強会情報の集め方(LT資料)
Toshio Ehara
•
2.3K visualizações
BACKBONE.JSにJasmineでテストコード書いてみた (LT資料)
Toshio Ehara
•
3.6K visualizações
JavaScriptのテストコード 一緒に勉強しませんか??
Toshio Ehara
•
3.6K visualizações
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
Toshio Ehara
•
2.4K visualizações
LT Leap MotionとJavaScriptで遊ぼう!
Toshio Ehara
•
4.2K visualizações
JavaScriptもBACKBONE.JSならスッキリ ~MVCぽいのを初体験!~
Toshio Ehara
•
2.8K visualizações
BACKBONE.JSでMVC始めませんか?
Toshio Ehara
•
3.6K visualizações
はじめてのjQuery入門 01 2013年7月14日(日)
Toshio Ehara
•
1.3K visualizações
Cocos2d/2d-x/html5 [Objective-C/C++/JavaScript] 好みの言語はどれですか?
Toshio Ehara
•
3.4K visualizações
JavascriptのMVC開発について調べてみた 〜BACKBONE.JS〜
Toshio Ehara
•
4.9K visualizações
JavaScriptのthisって
Toshio Ehara
•
1K visualizações
AngularJS入門の巻
2014/5/11(日) 第8回福岡市西区プログラム勉強会 AngularJS入門の巻 Photo by
Web制作向け無料写真素材/ぱくたそ http://www.pakutaso.com
-自己紹介- 株式会社キャムの江原と申します。 プログラマしてます。 twitter : @itokami1123 企業の経営戦略に役立つサービス「CAM
MACS」を AWSにて提供してます。
今日はAngularJS知識を整理するため 自分なりに理解した事をなるべく分かり易く説明します。 変なとこ、意味が分かんないとこがあったら ツッコミをお願いしますね。 (@itokami1123まで)
2014/5/11(日) 第8回福岡市西区プログラム勉強会 AngularJS入門 ご注意! オレオレ(独りよがり)な所も多々ございます。 ちゃんとした情報は公式サイトや書籍等をご覧ください。 ! ! ! ! ! ! ! ! ! ! 公式サイト: https://angularjs.org/ AngularJSアプリケーション開発ガイド
[大型本]
- 今日の内容 - 1.
立ち上がれAngularの巻 2. moduleは俺のロッカーの巻 3. 依存してしまおうの巻 4. ブラウザ(DOM)に値を表示の巻 5. データ管理はサービスよの巻 6. データの反映は何時?の巻
1.立ち上がれAngularの巻
<script src=“//ajax.googleapis.com/ajax/libs/jquery/ 2.1.0/jquery.min.js”></script> ! ! ! <script src="https://ajax.googleapis.com/ajax/libs/ angularjs/1.3.0-beta.7/angular.min.js"
></script> ! ! <div class="jsTestApp" > {{ 1+1 }} </div> AngularJSのライブラリです! AngularJSの機能で {{ 1+1 }} で2が表示されるはずが.. ※jQueryも使いたい為に先に読み込んでます。(AngularJSに必要ではありません)
{{ 1+1 }} AngularJSの機能で
{{ 1+1 }} で2が表示されるはずが、動いてない…
$(function(){ $testApp = $(".jsTestApp"); angular.bootstrap(
$testApp[0] ); }); AngularJSで起動したいHTMLタグ要素を bootstrapで指定すると <div class="jsTestApp" > {{ 1+1 }} </div> 2 動いた!やったー! http://jsfiddle.net/itokami1123dev/TqEpb/2/
$(function(){ $testApp = $(".jsTestApp"); angular.bootstrap(
$testApp[0] ); }); <div ng-app="" > {{ 1+1 }} </div> 2 ng-app(ngAppディレクティブ)で書くとすっきりしますね。 http://jsfiddle.net/itokami1123dev/bp4Ae/ ng-appを記述すれば、起動(bootstrap)処理を書かなくて良いです!
2.moduleは俺のロッカーの巻
angular.module("app",[]); appという名前の箱(名前空間)を作る事が出来ます! <div ng-app="app" > {{
1+1 }} </div> ng-appで指定した箱(名前空間)を使います。 http://jsfiddle.net/itokami1123dev/8L2aR/1/
angular.module("services",[]); angular.module("controllers",[]); angular.module("app",["services","controllers"]); 名前の箱(名前空間)は、他の箱(名前空間)を第2引数に配列で設定出来ます。 <div ng-app="app" > {{
1+1 }} </div> http://jsfiddle.net/itokami1123dev/KY6rz/7/
angular.module("services",[]); angular.module("controllers",[]); angular.module("app",["services","controllers"]); angular.module("controllers"). controller("CalculatorCtrl",[ "$scope", http://jsfiddle.net/itokami1123dev/KY6rz/7/ 名前の箱(名前空間)は、第2引数無しで取り出す事が出来ます。
3.依存してしまおうの巻
http://jsfiddle.net/itokami1123dev/rqGda/1/ angular.module(“services",[]); ! angular.module("services"). factory("Ken",[ ! function(){ var Ken =
function(){ this.name = "kenshiro"; }; Ken.prototype = { constructor: Ken, say: function(){ return "My name is " + this.name; } }; return Ken; } ! ]); 下準備として、 services という名前のmoduleを作成します services moduleに Kenクラス を登録します。
<div ng-app="services" ></div> services
moduleを起動するとrunメソッドが呼ばれます。 http://jsfiddle.net/itokami1123dev/rqGda/1/ angular.module(“services”).run([ ! ! ! “Ken", ! ! ! function( Ken ){ ! var ken = new Ken(); console.log( ken.say()); } ]); services moduleに登録した各機能は 名称文字列で取得できます。 カンマ区切りで複数指定出来ます。 module Ken 実行時に 引数に渡されます。 Ken機能を使ってる(依存してます)
4.ブラウザ(DOM)に値を表示の巻
angular.module("controllers"). controller("CalculatorCtrl",[ "$scope", function($scope){ ! }]); controllers moduleに ブラウザ(HTML)をコントロールする機能を登録します。 <div
ng-app="app" > <div ng-controller="CalculatorCtrl" > {{leftValue}} + {{rightValue}} = {{leftValue+rightValue}} </div> </div> http://jsfiddle.net/itokami1123dev/SZyy9/2/ $scope ng-controllerは、$scopeという表示データ格納モデルを作ります。 作成した$scopeは controller実行時に使用出来ます。
angular.module("controllers"). controller("CalculatorCtrl",[ "$scope", function($scope){ $scope.leftValue = 10; $scope.rightValue
= 20; }]); <div ng-app="app" > <div ng-controller="CalculatorCtrl" > {{leftValue}} + {{rightValue}} = {{leftValue+rightValue}} </div> </div> http://jsfiddle.net/itokami1123dev/SZyy9/2/ $scopeのプロパティが 10 + 20 = 30反映されます!
5.データ管理はサービスよの巻
<div ng-app="app" > <div
ng-controller="CalculatorCtrl" > {{leftValue}} + {{rightValue}} = {{leftValue+rightValue}} </div> </div> angular.module("controllers"). controller("CalculatorCtrl",[ "$scope", function($scope){ $scope.xxx = 1 + 1 + ….; ! }]); データの計算式はモデルやサービスに移しましょう∼。 HTML内に計算式があったり… Controller内に計算式があったり … とっても参考になる記事:お前のAngular.jsはもうMVCではない。と言われないためのTutorial http://qiita.com/icoxfog417/items/2ac773c33a8b34288551
angular.module("services"). factory(“NumDataModel",[ function(){ var NumDataModel =
function(){ this.leftValue = 10; this.rightValue = 20; }; NumDataModel.prototype = { constructor: NumDataModel, compute: function(){ return this.leftValue + this.rightValue; } }; return NumDataModel; } ]); http://jsfiddle.net/itokami1123dev/9x2Zh/3/ 足し算をするクラスを NumDataModel という名前で 登録します
angular.module("services"). factory("calculatorServ",[ "NumDataModel", function(NumDataModel){ var numData =
new NumDataModel(); return { getNumData: function(){ return numData; } }; } ]); http://jsfiddle.net/itokami1123dev/9x2Zh/3/ NumDataModelクラスを管理する calculatorServ オブジェクトを登録します
angular.module("controllers"). controller("CalculatorCtrl",[ "$scope","calculatorServ", function($scope, calculatorServ){ $scope.numData =
calculatorServ.getNumData(); } ]); http://jsfiddle.net/itokami1123dev/9x2Zh/3/ <div ng-app="app" > <div ng-controller="CalculatorCtrl" > {{numData.leftValue}} + {{numData.rightValue}} = {{numData.compute()}} </div> </div> これでHTMLにもControllerにも計算式が出なくなりましたね!
6.データの反映は何時?の巻
ところで$scopeのプロパティは いつ画面に反映するの??
angular.module("services"). factory("calculatorServ",[ “NumDataModel", function(NumDataModel){ var numData =
new NumDataModel(); return { addLeft : function(){ numData.leftValue++; }, ! ! getNumData: function(){ return numData; } }; } ]); http://jsfiddle.net/itokami1123dev/92prV/2/ 左の数値データを増やすメソッドを追加して..
angular.module("controllers"). controller("CalculatorCtrl",[ "$scope","calculatorServ", function($scope,calculatorServ){ $scope.numData = calculatorServ.getNumData(); $('.js-btn').on('click',function(){ calculatorServ.addLeft(); }); }]); http://jsfiddle.net/itokami1123dev/92prV/2/ <div
ng-app="app" > <button class="js-btn" >plus1</button> </div> ボタンクリックで数値を増やすメソッドを呼びます。
controller("CalculatorCtrl",[ // ・・・省略・・・ $('.js-btn').on('click',function(){ calculatorServ.addLeft(); }); // ・・・省略・・・ }]); http://jsfiddle.net/itokami1123dev/92prV/2/ factory(“calculatorServ",[ //
・・・省略・・・ addLeft : function(){ numData.leftValue++; }, // ・・・省略・・・ ]); 10 + 20 = 30 plus1 押しても数値が増えない…?
controller("CalculatorCtrl",[ // ・・・省略・・・ $('.js-btn').on('click',function(){ $scope.$apply(function(){ calculatorServ.addLeft(); }); }); // ・・・省略・・・ }]); http://jsfiddle.net/itokami1123dev/dK23V/ 11
+ 20 = 31 plus1 $applyを呼ぶと$scopeの中の変更を確認して画面に反映されます!
<div ng-controller="CalculatorCtrl" > {{numData.leftValue}}
+ {{numData.rightValue}} = {{numData.compute()}} <button ng-click="plusBtnClicked()" >plus1</button> </div> http://jsfiddle.net/itokami1123dev/b3mTU/1/ angular.module("controllers"). controller("CalculatorCtrl",[ "$scope","calculatorServ", function($scope,calculatorServ){ // ・・・省略・・・ $scope.plusBtnClicked = function (){ calculatorServ.addLeft(); }; }]); ng-clickは自動で$applyを呼ぶのですっきり書けますよ。
! 今日はココまでです! ! 今後もテストコード、描画のチューニング、共通部品 の作り方なども発表していきたいです。 ! ご清聴ありがとうございました!
Anúncio