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
42
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Stimulusのはなし
Hirofumi Horiuchi
August 25, 2022
More Decks by Hirofumi Horiuchi
See All by Hirofumi Horiuchi
同じってなんだ?
h_reader
0
40
OSSを読んでみた?
h_reader
0
59
vue_js_composition_api
h_reader
0
71
秒速でリリースするWebアプリ.pdf
h_reader
0
52
はじめよう async/await
h_reader
0
55
Node.jsではじめるオレオレツールの世界
h_reader
0
510
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
660
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Utilizing Notion as your number one productivity tool
mfonobong
4
450
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Thoughts on Productivity
jonyablonski
76
5.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
410
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
270
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
410
Site-Speed That Sticks
csswizardry
13
1.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
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したい場合におすすめしたいと思 います。
“ ご清聴ありがとうございました。