Stimulus 是 37signals 开发的轻量级 JavaScript 框架,属于 Hotwire 生态的一部分。其核心理念是“为已有的 HTML 注入适度行为”,而非取代服务端渲染。开发者通过在 HTML 中添加 data-controller、data-target、data-action 等属性,即可将控制器与视图元素绑定,实现事件处理、状态更新等交互功能。
框架不处理 HTML 渲染,而是专注于增强现有 DOM 元素。控制器类继承自 Controller,定义目标(targets)、动作(actions)和生命周期回调(如 connect、disconnect)。配合 Turbo 可构建快速的全栈应用。
核心功能
- 控制器:通过
data-controller绑定,每个控制器对应一个 JavaScript 类。 - 目标:使用
data-控制器-target标记元素,控制器中可直接访问。 - 动作:利用
data-action声明 DOM 事件与控制器方法的映射。 - 值(Values):通过
data-控制器-value传递配置数据。 - 输出(Outlets):跨控制器通信,通过
data-控制器-outlet引用其他控制器实例。
适用人群
适用于已有服务端渲染(Rails、PHP等)项目、希望避免 SPA 复杂性的开发者,以及喜欢渐进增强或遵循 Hotwire 理念的团队。
使用方式
通过 npm 安装 stimulus 包,或使用 CDN。在构建工具(如 Webpack、Vite)中引入后,创建控制器文件(如 hello_controller.js),并在 HTML 中添加对应属性。Stimulus 会自动扫描并连接控制器。
注意事项
Stimulus 不提供客户端路由或数据流管理,需自行配合 Turbo Drive 或服务端逻辑处理导航和持久化。文档建议结合 Turbo 使用。当前稳定版本为 3.2.2(2023年8月发布)。
数据统计
数据评估
本站IPI3导航网提供的Stimulus都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由IPI3导航网实际控制,在2026年7月30日 下午5:26收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,IPI3导航网不承担任何责任。
