// ◯◯◯にはコントローラの名前を入れる
$ rails generate stimulus ◯◯◯
import { Controller } from 'stimulus';
export default class extends Controller {
// Viewに以下のターゲット名を設定すると、設定した要素の情報を取得できる。
static targets = ['str'];
// この関数が呼ばれると、"hogehogefugafuga"というアラートが出力される。
test() {
const str = this.strTarget.textContent;
alert(`hogehoge${str}`);
}
}
// data-controller="コントローラの名前"
<div data-controller="hoge">
// targetsで設定した'str'をdata-targetに設定する。そうすることで、この要素の情報をJS側で取得できる。
<h4 data-target="str">fugafuga</h4>
// ボタンをクリックすると、作成したコントローラ内のtest関数を呼び出す。
// イベント名->コントローラ内の関数
<button data-action="click->test">実行</button>
</div>