原来是全局碰撞惹的祸
This commit is contained in:
39
doc/mvvm/VMBase.md
Normal file
39
doc/mvvm/VMBase.md
Normal file
@@ -0,0 +1,39 @@
|
||||
## VM Base
|
||||
|
||||
### 介绍
|
||||
|
||||
VM基础组件,只实现了数据绑定, 需要被继承使用。你可以通过继承VM Base来实现自己的VM组件。当然一般情况下使用这个工具所提供的其他组件脚本就够用了。
|
||||
|
||||
### 脚本属性
|
||||
|
||||
- `watchPath` - 需要监听的路径,,你在VM怎么定义的结构,就在这里写上取值的路径。
|
||||
|
||||
比如global 标签的 viewModel 要取值player.atk, 就是gloabl.player.atk。
|
||||
|
||||
- `watchPathArr` - 需要监听的多路径 数组, 和上面一样,不过需要监听的是一个路径的数组。
|
||||
|
||||
- `templateMode` - 模板模式(多路径模式),启用后才能监听 watchPathArr 数组中的所有路径
|
||||
|
||||
- `templateValueArr` - 缓存监听路径的值,当监听某个路径的值发生变动时,会自动更新该数组中缓存的值。一般不需要考虑使用。
|
||||
|
||||
- `VM` - VMManager 对象的引用,参考ViewModel 的说明
|
||||
|
||||
- `onLoad()` - 提前拆分、并且解析 监听的路径,可以捕获一些错误
|
||||
|
||||
**如果需要重写onLoad 方法**,请根据顺序调用 **super.onLoad()**,执行默认方法。直接覆盖将会导致函数的功能丢失。
|
||||
|
||||
- `onEnable()` - 激活节点时,更新对象初始值,同时开启对 watchPath 的监听。
|
||||
|
||||
**可重写**,重写时需要调用 super.onEnable() 处理父方法
|
||||
|
||||
- `onDisable()`- 关闭节点时,关闭对 watchPath 的监听。
|
||||
|
||||
**可重写**,重写时需要调用 super.onDisable() 处理父方法
|
||||
|
||||
- `onValueInit()`- 初始化值时调用函数
|
||||
|
||||
虚方法,可以直接被重写。
|
||||
|
||||
- `onValueChanged(newValue,oldValue,pathArray)` - 当值改变时调用函数
|
||||
|
||||
虚方法,可以直接被重写。
|
||||
Reference in New Issue
Block a user