odoo

Qweb

2020-03-23  本文已影响0人  想发财的程序搬运学习猴子

1、定义模板

t-name只能放在模板文件的最外面,它没有其他参数,但可以使用一个t标签,当使用t标签时它需要有单个子元素,模板名可以随便取

t-name

2、模板继承和调用

模板继承是用来修改已存在的模板,即给在其他模块定义的模板添加内容。通过t-extend来表示,它的值是被继承的模板名,通过t-jquery来进行修改

qweb可以用于最高级别的渲染,但也可以通过t-call来包含其他模板<t t-call="name"/>会调用指定名字的模板

t-extend、t-call、t-jquery

3、选择器找到元素后执行的动作

t-operation用于选择需要改变的节点,通过其指定需要进行的操作

append - 新节点的内容添加到原节点的后面(最后一个子节点后)

prepend - 新节点内容添加到原节点前面(第一个子节点前)

before - 新节点内容添加到原节点前

after - 新节点内容添加到原节点后

inner - 新节点内容替换原节点的子节点

replace - 新节点内容直接替换原节点

如果没有指定operation,那么模板内容会被解析成javascript节点,并将context节点设置为this

4、条件判断

同别的语言中if判断一样,t-if指令计算JavaScript表达式的值,只有当条件计算为true时,标记和内容才会被渲染,t-elif和t-else可用于添加条件分支。

t-if

5、循环

Qweb有一个指令用于循环处理,t-foreach用来指定需要循环处理的数据,t-as提供的是在后面用于代表当前项目的变量名

t-foreach、t-as

6、输出

t-esc指令计算表达式并将其作为一个html转码值

t-esc

7、节点属性

用于指明一个元素的属性值,如图,t-att-data-id是给元素设置data-id的属性值,t-att-title是设置title的属性值。

t-att

8、设置变量

qweb允许在模板内设置变量,使用t-set来实现,它的值就是设置的变量名。t-value属性是一个表达式,解析后的值作为新变量的值

t-set、t-value

9、调试

t-log可以接收一个表达式参数,在渲染时解析并将结果输出到控制台

t-debug在渲染时触发一个调试断点

t-log、t-debug
上一篇 下一篇

猜你喜欢

热点阅读