有没有办法从Rails RJS视图访问Stimulus JS控制器操作?
例如:
//app/views/posts/create.js.erb`
$('#tags').hide();
我可以做
//app/javascripts/controllers/my_stimuous_controller
import { Controller } from 'stimulus'
export default class extends Controller {
hideElementAction(event) {
//....
}
}
//app/views/posts/create.js.erb`
myStimulousController.callAction('hideElementAction');
对于那些不知道RJS是什么的人:RubyonRails 中的"ruby to js"模板系统
否。相反,将操作添加到元素中,并对其进行激发。下面是一个使用hide
作为事件的示例,但您可以随意命名它。
<div id="tags"
data-controller="my-stimulus-controller"
data-action="hide->my-stimulus-controller#hideElementAction">
</div>
Rails.fire(document.querySelector("#tags"), 'hide')