![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
第三方库
文章平均质量分 51
pilihou
一直在迷茫,一直在努力
展开
-
2021-09-06
这里写自定义目录标题欢迎使用Markdown编辑器 欢迎使用Markdown编辑器 在插件开发中,基本上都是用的js来写,包括我之前也一样,那么为何要选择TS呢?可读性、代码补全、错误提示…。其实最主要的也是这两个特性,那么到底怎么利用TS的这两个特性呢? 这里我使用了论坛里面小伙伴提供的编辑器声明文件,这里已经为大家打包好了,可以直接下载使用。editor.zip (18.9 KB) 下载后直接放在项目根目录下就行了,例如我的放在项目根目录/editor下面,单单是这样还不够,我们还得引入d.ts声明文件转载 2021-09-06 16:58:05 · 126 阅读 · 0 评论 -
javascript-state-machine文档翻译10:状态机工厂
本文档中的大多数示例构造单个状态机实例,例如: var fsm = new StateMachine({ init: 'solid', transitions: [ { name: 'melt', from: 'solid', to: 'liquid' }, { name: 'freeze', from: 'liquid', to: 'solid' }, { name: 'vaporize', from: 'liquid', to: '翻译 2021-06-19 15:46:59 · 221 阅读 · 0 评论 -
javascript-state-machine文档翻译09:状态机可视化为直观图
将状态机可视化为直观图是非常有用的。可以通过开源库GraphViz来实现,我们使用visualize方法将状态机配置转换为GraphViz使用的.dot语言: var visualize = require('javascript-state-machine/lib/visualize'); var fsm = new StateMachine({ init: 'open', transitions: [ { name: 'close', from: 'open',翻译 2021-06-19 15:45:47 · 229 阅读 · 0 评论 -
javascript-state-machine文档翻译08:记录历史状态
默认情况下,状态机只跟踪其当前状态。如果希望跟踪状态历史记录,可以使用state-machine-history插件来扩展状态机。 var StateMachineHistory = require('javascript-state-machine/lib/history') var fsm = new StateMachine({ init: 'A', transitions: [ { name: 'step', from: 'A', to: 'B' },翻译 2021-06-19 15:44:07 · 138 阅读 · 0 评论 -
javascript-state-machine文档翻译07:错误处理
无效转换 默认情况下,如果试图触发一个当前状态不允许的转换动作,状态机将抛出异常。如果你更愿意自己处理这个问题,可以自定义一个onInvalidTransition处理方法: var fsm = new StateMachine({ init: 'A', transitions: [ { name: 'step', from: 'A', to: 'B' }, { name: 'reset', from: 'B', to: 'A' } ], met翻译 2021-06-19 15:42:37 · 128 阅读 · 0 评论 -
javascript-state-machine文档翻译06:初始化可选项
显式的指定初始转换动作 默认情况下,如果未指定初始状态,状态机将处于none状态,在构建过程中不会触发任何生命周期事件,你需要提供一个明确的转换动作来退出这个状态 var fsm = new StateMachine({ transitions: [ { name: 'init', from: 'none', to: 'A' }, { name: 'step', from: 'A', to: 'B' }, { name: 'step', from: 'B翻译 2021-06-19 15:40:55 · 83 阅读 · 0 评论 -
javascript-state-machine文档翻译05:异步转换
开始读这篇文章之前,你应该已经熟悉了状态机生命周期事件。 有时,你需要在状态转换期间执行一些异步代码,并确保在代码完成之前不会进入新的状态。这方面一个很好的例子是:当你离开一个状态并逐渐淡出UI组件时,或者将其从屏幕上滑出,并且在动画完成之前不想转换到下一个状态 你可以通过从任意生命周期事件中返回一个Promise对象来实现。 从生命周期事件返回一个Promise将导致转换动作的生命周期暂停。它可以通过解决Promise来继续,或拒绝Promise来取消转换动作。 例如(使用jQuery效果): v.翻译 2021-06-19 15:39:09 · 98 阅读 · 0 评论 -
javascript-state-machine文档翻译04:生命周期
生命周期 为了跟踪或执行当转换动作发生时的行为,有以下五个通用生命周期事件可以观测: onBeforeTransition - 执行任意转换动作前被触发 onLeaveState - 离开任意状态时被触发 onTransition - 执行任意转换动作期间被触发 onEnterState - 刚进入任意状态时被触发 onAfterTransition - 执行任意转换动作后被触发 除了通用事件之外,还可以使用特定的转换动作和状态名称来观察: onBefore<翻译 2021-06-19 15:36:47 · 150 阅读 · 0 评论 -
javascript-state-machine文档翻译03:数据和方法
除了状态和转换动作之外, 状态机还可以包含任意数据和方法: var fsm = new StateMachine({ init: 'A', transitions: [ { name: 'step', from: 'A', to: 'B' } ], data: { color: 'red' }, methods: { describe: function() { console.log('I am ' +翻译 2021-06-19 15:34:28 · 84 阅读 · 0 评论 -
javascript-state-machine文档翻译02:状态和转换动作
状态机是由一组状态(states), 如: solid liquid gas 和一套转换动作(transitions)组成的, 如: melt freeze vaporize condense var fsm = new StateMachine({ init: 'solid', transitions: [ { name: 'melt', from: 'solid', to: 'liquid' }, { name: 'freeze', f.翻译 2021-06-19 15:32:17 · 151 阅读 · 0 评论 -
javascript-state-machine文档翻译01:介绍
有限状态机的库 安装 在浏览器中: <script src='state-machine.js'></script> 下载源码 或 压缩版 通过npm: npm install --save-dev javascript-state-machine 通过Node.js: var StateMachine = require('javascript-state-machine'); 使用 可以使用以下方法构造状态机: var fsm = new StateM翻译 2021-06-19 15:29:17 · 262 阅读 · 0 评论