1、定义模板
t-name只能放在模板文件的最外面,它没有其他参数,但可以使用一个t标签,当使用t标签时它需要有单个子元素,模板名可以随便取
2、模板继承和调用
模板继承是用来修改已存在的模板,即给在其他模块定义的模板添加内容。通过t-extend来表示,它的值是被继承的模板名,通过t-jquery来进行修改
qweb可以用于最高级别的渲染,但也可以通过t-call来包含其他模板<t t-call="name"/>会调用指定名字的模板
3、选择器找到元素后执行的动作
t-operation用于选择需要改变的节点,通过其指定需要进行的操作
append - 新节点的内容添加到原节点的后面(最后一个子节点后)
prepend - 新节点内容添加到原节点前面(第一个子节点前)
before - 新节点内容添加到原节点前
after - 新节点内容添加到原节点后
inner - 新节点内容替换原节点的子节点
replace - 新节点内容直接替换原节点
如果没有指定operation,那么模板内容会被解析成javascript节点,并将context节点设置为this
4、条件判断
同别的语言中if判断一样,t-if指令计算JavaScript表达式的值,只有当条件计算为true时,标记和内容才会被渲染,t-elif和t-else可用于添加条件分支。
5、循环
Qweb有一个指令用于循环处理,t-foreach用来指定需要循环处理的数据,t-as提供的是在后面用于代表当前项目的变量名
6、输出
t-esc指令计算表达式并将其作为一个html转码值
7、节点属性
用于指明一个元素的属性值,如图,t-att-data-id是给元素设置data-id的属性值,t-att-title是设置title的属性值。
8、设置变量
qweb允许在模板内设置变量,使用t-set来实现,它的值就是设置的变量名。t-value属性是一个表达式,解析后的值作为新变量的值
9、调试
t-log可以接收一个表达式参数,在渲染时解析并将结果输出到控制台
t-debug在渲染时触发一个调试断点