diff --git a/template.md b/template.md
index ba67d43..def1473 100644
--- a/template.md
+++ b/template.md
@@ -79,7 +79,8 @@ class Foo extends Component {
class Foo extends Component {
static props = {
- name: 'Wkit'
+ name: 'Wkit',
+ avatar: ''
}
...
@@ -87,6 +88,10 @@ class Foo extends Component {
render() {
return html`
Hello ${this.name || 'Wkit'}!
+
+ ${
+ this.avatar ? html`
` : html``
+ }
`
}
@@ -95,6 +100,172 @@ class Foo extends Component {
```
+### 节点属性绑定
+> 这个, 在上一个例子中, 已经有用到了, 模板中的节点属性, 可以加引号, 也可以不加, 效果上完全一致, 区别只是不加引号有语法高亮。
+>> 另外, 还引入了一个特殊的绑定语法, 跟`vue`一样, 在属性名前加冒号`:`, 带冒号的属性, 赋值时是直接赋值的, 而不是调用`setAttribute()`, 即意味着, 你可以通过这种方式, 传递复杂的数据类型。
+>>> 另外, 由于字符串模板的原理与`vue/react`等框架不一样, 无法实现双向绑定, 需要手动实现(详见下文)。
+
+
+
+```js
+
+class Foo extends Component {
+ static props = {
+ name: 'Wkit',
+ info: {age: 18, height: 177}
+ }
+
+ ...
+
+ render() {
+ return html`
+ Hello ${this.name || 'Wkit'}!
+
+
+
+ `
+ }
+
+}
+
+```
+
+
+### 事件绑定
+> 框架内置了强大又友好的事件绑定机制, 语法和`vue`类似, `@xx=yy`, 即可向所在节点添加`xx`事件的监听。
+>> 事件回调支持使用匿名函数, 框架内部会修正该函数的`this`指向; 利用这个特性, 可以实现列表渲染中动态传递参数给回调函数。
+>>> 绑定在组件内的事件, 在组件移除出文档树时,均会自动释放, 无需手动`unbind`。(`v1.6.0`起支持)
+
+
+
+```js
+
+class Foo extends Component {
+ static props = {
+ count: 0
+ }
+
+ ...
+
+ handleClick(ev) {
+ this.count++
+ }
+
+ render() {
+ return html`
+ total click ${this.count}
+
+
+
+
+
+
+
+
+ `
+ }
+
+}
+
+```
+
+#### 事件绑定之 -- 修饰符
+> `v1.9.0`起, 采用全新的事件机制, 支持以下修饰符, 可支持同时写多个修饰符。
+
++ `.stop` 阻止事件冒泡
++ `.prevent` 阻止默认事件
++ `.self` 仅当 event.target 是元素本身时才会触发事件处理器
++ `.capture` 与原生一致的逻辑
++ `.once` 与原生一致的逻辑
++ `.passive` 与原生一致的逻辑
+
+
+```js
+
+html``
+
+html``
+
+```
+
+
+### 特殊属性之 -- `ref`
+> `v1.5.11`起, 完整支持`ref`绑定, 语法为`ref=xx`。后续(`mounted`之后), 可以通过`this.$refs.xx`, 获取续写的节点对象, 无行为与`vue`基本一致。
+>> ref绑定, 支持静态值, 支持变量赋值(包括在循环中使用)。
+
+通常用于在组件内部做一些DOM操作, 而无需自己使用选择器来获取节点对象。
+
+
+
+
+### 特殊属性之 -- `#animation`
+> `v1.8.0`起, 支持动画配置, 并内置`fade, scale, bounce, rotate`4种简单动画。
+
+> `v1.8.4`额外增加2种动画`micro-bounce, slide`。
+
+> `v1.10.1`增加`immediate`设定, 允许动画在节点加载时自动执行。
+
+动画配置, 支持以下4个
+- `type`, 动画类型, 指的是内置的6种动画名字, 默认`fade`。
+- `immediate`, 是否立即执行, 默认否。
+- `duration`, 动画的时长, 单位毫秒, 默认200毫秒。
+- `custom`, 自定义动画, 如果内置的动画不满足需求, 可以自定义, 语法详见 HTML的`Element.animate`文档。
+
+
+```js
+class Foo extends Component {
+ static animation = {
+ type: 'fade', // 可以是6种内置之一
+
+ // 如果内置的动画不满足需求, 可以自定义, 语法详见 HTML的`Element.animate`文档
+ custom: [
+ {opacity: 0, ...}, // 阶段样式定义
+ {opacity: 0.5, ...},
+ ...
+ ]
+ }
+}
+
+// 声明之后, 便可在适当时机, 手动触发动画
+// 执行出场动画
+// this.$animate()
+// 执行离场动画
+// this.$animate(true)
+
+```
+对组件内的节点配置动画
+
+```js
+class Foo extends {
+
+ render() {
+ // 配置同上
+ let options = {
+ type: 'fade'
+ }
+ return html`这个是有动画的节点
`
+ }
+
+}
+
+// 声明之后, 便可在适当时机, 手动触发动画
+// 出场动画
+// this.$refs.foo.$animate()
+// 离场动画
+// this.$refs.foo.$animate(true)
+
+```
+
+
+### 双向绑定
+
+
+
+
+