Update Component

master
yutent 2023-09-22 17:02:57 +08:00
parent a74ac5394b
commit d796b5f6a2
1 changed files with 62 additions and 18 deletions

@ -5,7 +5,7 @@
## 静态属性/方法 ## 静态属性/方法
### 1. watches`<String>[]` ### 1. watches`<String>[]`
> 用于声明一些需要监听的属性。正常来说, 会很少需要设置这个, 大多数情况下静态属性`props`中的`key`, 都会被监听 > `v1.10.7`新增。用于声明一些需要监听的属性。正常来说, 会很少需要设置这个, 大多数情况下因为静态属性`props`中的`key`默认会监听, 已经足够了。某些属性, 不想定义到`props`里, 但是又想被监听到变化, 这时候就可以在这个属性中声明一下
### 2. props`<Object>` ### 2. props`<Object>`
@ -114,23 +114,67 @@ if (!customElements.get('foo-blabla')) {
## 实例属性/方法
### 1. keepAlive
> 这是框架的保留关键字属性, 默认为`false`. 可以组件被移除之前修改它的值。这个值会影响组件被移出文档或移入文档时的逻辑处理。
>> 也可以在组件使用时, 添加`keep-alive`属性, 无需赋值, 只要有此属性, 它的值永远为`true`。
```html
<div>
<wc-foo keep-alive></wc-foo>
</div>
```
### 2. render()
> 这是用来返回模板的方法, 这里就不多说了, 详细请看 [【Template文档】](./template)。
### 3. $requestUpdate()
> 这是用来手动更新视图渲染的方法。一般情况下, 定义在`props`中的属性, 值变化时会自动更新视图, 但如何你模板中使用到了不在`props`中的属性, 这些属性的值发生变化时, 视图不会更新的, 需要时可以调用此方法手动更新。
### 4. $on(name`<String>`, callback`<Function>`, options`<Any>`)
> 事件监听的方法, 用此方法, 可以对当前组件自身定义任意事件监听。
### 5. $off(name`<String>`, callback`<Function>`, options`<Any>`)
> 注销事件绑定的方法。与`$on()`对应。
### 6. $emit(name`<String>`, data`<Object>`, cancelBubble`<Boolean>`)
> 这是用于主动触发任意事件的方法, 其中, `data`的内容, 全合并进形参`event`中。`cancelBubble`为是否取消事件冒泡。为true时, 事件不会往上冒泡。
## 生命周期
### 1. created()
> 这是在组件刚实例化时触发。 此时视图还未初始化完成, 不可进行任何`DOM`操作, 但可以对组件属性进行赋值或其他的逻辑处理。
### 2. mounted()
> 这是在组件初始化完成时触发, 此时可以进行任意的DOM操作和任意的逻辑处理。
### 3. updated()
> 这是视图发生变化时触发。`mounted`之前, 不会触发`updated`。
### 4. unmounted()
> 组件被移除出文档树时触发。同时组件中一切事件绑定也会被销毁(当组件被设置为`keep-alive`时除外)。
### 5. activated()
> `v1.10.1`新增。 当且仅当组件被设置为`keep-alive`, 且组件初始化完成时触发, 时机同`mounted`, 但比`mounted`先触发。
>> 另外, 在[`wkitd`](https://git.wkit.fun/bytedo/wkitd)框架下, 组件作为路由页面时, 这个回调也会在切换路由时触发。
### 6. deactivated()
> `v1.10.1`新增。 当且仅当组件被设置为`keep-alive`, 且组件被移出文档树时触发, 时机同`unmounted`。
>> 另外, 在[`wkitd`](https://git.wkit.fun/bytedo/wkitd)框架下, 组件作为路由页面时, 这个回调也会在切换路由时触发。