Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Stimulusのはなし
Search
Hirofumi Horiuchi
August 25, 2022
0
36
Stimulusのはなし
Hirofumi Horiuchi
August 25, 2022
Tweet
Share
More Decks by Hirofumi Horiuchi
See All by Hirofumi Horiuchi
同じってなんだ?
h_reader
0
35
OSSを読んでみた?
h_reader
0
54
vue_js_composition_api
h_reader
0
67
秒速でリリースするWebアプリ.pdf
h_reader
0
45
はじめよう async/await
h_reader
0
49
Node.jsではじめるオレオレツールの世界
h_reader
0
490
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
A Soul's Torment
seathinner
5
2.2k
The Invisible Side of Design
smashingmag
302
51k
Ethics towards AI in product and experience design
skipperchong
2
190
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
420
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Transcript
Stimulus のはなし
“ Rails 7 では、 Webpacker, Turoblinks, Rails-UJS が インストールされないようになりました
“ かわりに、 import-map, Trubo, Stimulus がインストールされます。
“ 今回は Stimulusの話です
Stimulusとは? 1
“ Stimulusとは、 HTMLのAttributeを使用して JavaScript オブジェクトを ページ上の要素に接続する Javascript フレームワークです
“ コントローラーと呼ばれるJSオブジェクトを作成 し、HTMLとJSを分離し、再利用性を高めま す。
“ サンプル HTMLと、JSで ‘hello_controller’ というコントローラを作成
“ サンプル “data-controller” で定義した名前とコントローラの名前を 一致させることで div と コントローラが 紐付けられる
“ サンプル “data-[controller名]-target” が定義されると、定義された HTML Element をコントローラで利用できます。 コントローラで利用する場合、”static targets” で宣言し、
“<target名>Target” という名前でアクセスできます。
“ サンプル “data-action” が定義されると、イベントに応じてメソッド呼び出しがで きます。 “[イベント]->[controller名]#[method名]” を指定します。
“ ここまでが基本的な使い方です
StimulusとState 2
“ ここまでで、HTMLとJSが分離できることが わかったと思います。 Stimulusは、このほかにコントローラでス テートを管理することもできます。
“ サンプル 矢印ボタンがあり、矢印ボタンを押すごとに猿のアイコンが切り替わる サンプル slideshow_controller.js
“ サンプル “Data-[controller名]-[state変数名]-value” でステートとして扱う変 数を定義できます。 Controllerでは、 “static values” として、値を宣言します。 宣言すると、”[value名]Value”
という名前でアクセスできます。 slideshow_controller.js
“ サンプル Stateの状態変更時に実行するメソッドも実装できます。 “[value名]ValueChanged” の命名でメソッドを定義すればOKです。 ちなみに、stateの値が変わると、HTML側のstate宣言したattribute の値も変わります。 slideshow_controller.js
まとめ
“ JSのフレームワークとしては、シンプルだけ ど最低限の機能は揃っている(気がする) Railsで作るサーバ側の管理画面などで、 ERBの中のJSを減らすのに一役買ってくれ そう。 脱jQueryしたい場合におすすめしたいと思 います。
“ ご清聴ありがとうございました。