关于Stimulus
Stimulus是一个雄心不大的JavaScript框架。与其他前端框架不同,Stimulus旨在增强静态HTML或服务器渲染的HTML,方法是使用简单的标记将JavaScript对象连接到页面上的元素。
这个JavaScript对象叫做controller,Stimulus持续不断地监视页面,等待HTML的data-controller属性出现。符合条件的元素出现之后,Stimulus会根据它的值找到匹配的controller类,然后创建该类的一个实例,然后将这个实例连接到这个元素。
你可以这么类比,就像class属性是连接HTML与CSS的桥梁,而data-controller属性就是连接HTML与JavaScript的桥梁。
除了controller这个概念,Stimulus还有三个概念:
- actions 动作,通过data-action属性来连接controller的方法与DOM事件。
- targets 目标,定位控制器中重要的元素
- values 值,对控制的元素,读写或监听它的data属性值
Stimulus对data属性的使用有助于将js代码与行为分开,就像CSS将css代码与样式表现分开一样。此外,Stimulus的约定鼓励按名称对相关代码进行分组。
反过来,Stimulus帮助你构建小型的、可重用的controller,给你足够的组织结构来防止你的代码写成一锅“JavaScript乱炖”。
接下来将通过演示如何编写几个全功能的controller,来指导您了解Stimulus的核心概念。每一章都建立在前一章的基础上;从开始到结束:
- 在文本框输入名称后,打印对该名称的欢迎语
- 当按钮点击后,把文本内容拷贝到粘贴板上
- 幻灯片放映
- 自动从服务器获取HTML填充到一个元素内
- 在你的应用程序中使用Stimulus
一旦你完成上述练习之后,你会发现,对于理解Stimulus API的技术细节,手册文档真的很有用。
让我们开始吧。