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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Site-Speed That Sticks
csswizardry
13
1.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Practical Orchestrator
shlominoach
191
11k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The SEO identity crisis: Don't let AI make you average
varn
0
64
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
A designer walks into a library…
pauljervisheath
210
24k
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したい場合におすすめしたいと思 います。
“ ご清聴ありがとうございました。