关于文档中例子的运行情况说明:
- 前面示例中定义的变量,在后面的示例中可以直接获取
- 示例中定义的模板会被自动编译成模板函数,并且赋给
template
变量,所以后面的实例 可以直接获取- 示例中没有手动挂载的根组件,将自动挂载到示例下面,所以你会看到有些地方没有调用
Intact.mount()
组件也挂载了
Intact基于Vdt模板引擎设计,有关模板语法的使用说明,可以参见Vdt文档。 为了保持阅读连贯性,这里也会介绍一些常见的模板语法。
Vdt是一个基于虚拟DOM的模板引擎,在JSX语法的基础上,新增了一些指令来实现 条件判断、循环、继承等功能。得益于JSX的灵活性,你可以让模板做更多的事情。 所以它并非一个纯做表现的模板引擎,你可以将表现逻辑写入模板中。设计的原则是: 业务逻辑写入组件,表现逻辑写入模板。这样可以解决组件逻辑过分膨胀的问题。 当然业务和表现逻辑的划分,并没有标准,过多的逻辑放入模板,会是模板难以维护, 还需读者仔细斟酌。
组件的template
属性,不仅可以接收一个模板字符串,还可以接收一个模板函数。
这个模板函数,既可以是由模板字符串编译出来的函数,也可以是自定义的函数,
如果是自定义函数,必须返回一个虚拟DOM。关于模板编译成模板函数,以及如何
自定义模板函数的问题,详见模板template。