Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript odoo客户端渲染与服务器端渲染上的Qweb模板_Javascript_Openerp - Fatal编程技术网

Javascript odoo客户端渲染与服务器端渲染上的Qweb模板

Javascript odoo客户端渲染与服务器端渲染上的Qweb模板,javascript,openerp,Javascript,Openerp,我有一个关于Odoo的qweb模板的问题。为什么我们可以在静态文件夹中创建一个模板,并通过javascript在客户机上呈现,为什么我们可以创建一个将在服务器端呈现并由控制器返回的模板 区别是什么,我可以在一个上做什么,而在另一个上做不到,不同的用例是什么 前端渲染示例: 看看addons/web/static/lib/qweb/qweb2.js。此文件具有渲染功能,用于渲染在静态文件夹中创建的模板。有关其用法的示例,请参见addons/account/static/src/js/account

我有一个关于Odoo的qweb模板的问题。为什么我们可以在静态文件夹中创建一个模板,并通过javascript在客户机上呈现,为什么我们可以创建一个将在服务器端呈现并由控制器返回的模板

区别是什么,我可以在一个上做什么,而在另一个上做不到,不同的用例是什么

前端渲染示例:


看看addons/web/static/lib/qweb/qweb2.js。此文件具有渲染功能,用于渲染在静态文件夹中创建的模板。有关其用法的示例,请参见addons/account/static/src/js/account\u recordination\u widgets.js。那里有多个Qweb.rendertemplate_name语句。因此,据我所知,static中的模板可以由客户端以其初始格式访问,而web客户端负责呈现

在这里并不难,但我不相信xml是在服务器端呈现的。xml在服务器端被解析和处理,即t-foreach被解释并替换为适当的内容,然后发送到客户端进行呈现。我们没有时间在测试中运行太多。然而,对于在客户端上处理的qweb模板,我认为它们几乎完全用于javascript小部件xml。我还没有看到其他地方使用过。我认为主要目标可能是支持客户端动态内容。主干js广泛使用xml模板,主干严重影响了Odoo的js框架。因此,我猜在某种程度上,Odoo有两个几乎并行的MVC范例,一个是由加载xml视图的控制器处理的,尽管仍然是qweb,另一个似乎是使用类似于主干的qweb模板结构在客户端处理的部分原因是它们似乎时不时地混合在一起。我希望其他人能发表评论。我不想认为我知道我在说什么,或者更糟糕的是,其他人认为我知道我在说什么。@phillipstack请看我编辑的问题,以获取位于静态文件夹中的模板前端呈现/解析示例。在这里我不想太难,但我不相信xml是在服务器端呈现的。xml在服务器端被解析和处理,即t-foreach被解释并替换为适当的内容,然后发送到客户端进行呈现。我们没有时间在测试中运行太多。然而,对于在客户端上处理的qweb模板,我认为它们几乎完全用于javascript小部件xml。我还没有看到其他地方使用过。我认为主要目标可能是支持客户端动态内容。主干js广泛使用xml模板,主干严重影响了Odoo的js框架。因此,我猜在某种程度上,Odoo有两个几乎并行的MVC范例,一个是由加载xml视图的控制器处理的,尽管仍然是qweb,另一个似乎是使用类似于主干的qweb模板结构在客户端处理的部分原因是它们似乎时不时地混合在一起。我希望其他人能发表评论。我不想认为我知道我在说什么,或者更糟的是,其他人认为我知道我在说什么。@phillipstack请查看我编辑的问题,以获取位于静态文件夹中的模板前端呈现/解析示例。