ListView, FormView和PageView的区别是什么?在JScript for (ODOO | OpenE
What is the difference bettween ListView, FormView, and PageView? in JScript for (ODOO | OpenERP)
openerp.web.XXXXXXXX.include({...
中ListView
、FormView
、PageView
的区别是什么?还有更多吗?我一直在尝试为ODOO学习JS,但官方文档很差或不精确,我真的想知道如何正确使用它们?还有多少呢?如果你能分享一个关于这个话题的指导方针,那就太好了。谢谢你的时间!
基本上你可以从Odoo文档中学习所有可能的属性和它的子元素的视图的概念。
表单视图用于显示单个记录中的数据。它们的根元素是<form>
。它们由常规HTML和附加的结构和语义组件组成。
- 一次处理单个记录
- 可包含其他结构组件(如笔记本,表格)。
- 没有排序& &;查找,因为目前只有一条记录。
列表视图的根元素是<tree>
。列表视图的根目录可以有以下属性:
- 显示树形记录集
- 不能包含任何结构组件。
- 可以搜索和排序。
odoo中的每个视图都有javascript文件,你可以从WEB模块中引用它。
- Web/静态/src/js/view_form.js
- Web/静态/src/js/view_list.js
- Web/静态/src/js/view_list_editable.js
- Web/静态/src/js/view_tree.js
Page是结构组件,所以它被覆盖在formview中。
JavaScript模块主要是基于这三个概念构建的。
- <
- 小部件/strong> QWeb模板引擎
Classes:
与模块一样,与大多数面向对象语言相反,javascript并不是在类中构建的,尽管它提供了大致相同的(如果较低级且更详细)机制。为了简单和开发人员友好,Odoo web提供了一个基于Javascript继承的类系统。
<小部件/strong>:
Odoo web客户端捆绑jQuery,方便DOM操作。它很有用,并且提供了比标准W3C DOM2更好的API,但不足以构建复杂的应用程序,从而导致难以维护。
很像面向对象的桌面UI工具包(例如Qt, Cocoa或GTK), Odoo Web使特定的组件负责页面的各个部分。在Odoo web中,此类组件的基础是Widget()类,该组件专门用于处理页面部分并为用户显示信息。
QWeb模板引擎:
这允许生成和显示任何类型的内容,但是在生成大量DOM(大量重复,引用问题,…)时变得笨拙
与许多其他环境一样,Odoo的解决方案是使用模板引擎。Odoo的模板引擎叫做QWeb。QWeb是基于xml的模板语言:
- 完全用JavaScript实现,并在浏览器中呈现
- 每个模板文件(XML文件)包含多个模板
- 它在Odoo Web的Widget()中有特殊的支持,尽管它可以使用在Odoo的web客户端之外(并且可以使用Widget()不依赖QWeb)
示例:(检索视图每页的记录数,默认为80,您可以通过重写此方法更新它)
要完成这类任务主要有两个方面。
- 根据需要添加/更新方法。
- 将创建的文件添加到适当的模板中。
为javascript文件添加此函数,并使用模板继承将此文件添加到web_backend资产中,然后此代码将自动生效。
instance.web.ListView.include({
limit : function(){
if (this._limit === undefined) {
this._limit = (this.options.limit
|| this.defaults.limit
|| (this.getParent().action || {}).limit
|| 160);
}
return this._limit;
},
});
Xml代码:
<template id="assets" inherit_id="web.assets_backend">
<xpath expr="//script[@src='/web/static/src/js/view_tree.js']" position="after">
<script type="text/javascript" src="your script file path"></script>
</xpath>
</template>
安装你的模块,看看效果,同样的方式,你可以实现任何使用javascript继承
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Is onfling available for html, html5
- Setting default onclick behavior for <img> tag in gene
- 我的javascript for循环不起作用
- For循环冻结Javascript
- 如何在for循环中添加事件侦听器
- JavaScript错误:Microsoft JScript运行时错误:应为对象
- Javascript setTimeout for an array
- 双“for”循环(循环)
- Sharepoint JScript if语句未执行
- 引用vue.js中v-for中的上一个值
- javascript for循环不起作用
- for循环中的javascript if语句找不到==
- GWT (or javascript) library for couchDB
- Javascript在for循环中等待处理请求
- 是否有运行Javascript的本地运行时环境?(如Windows Scripting Host for JScript
- ListView, FormView和PageView的区别是什么?在JScript for (ODOO | OpenE
- Jscript if for全局变量
- 通过数组和for循环声明JScript变量