page 对象
由 0x400 发布于
`page` 对象在门户页面中可用,其很多方法与 `form` 对象类似,仅能在前端脚本中使用。
## 二、使用范围
仅适用于门户页面。
## 三、语法
在门户表单里,可通过 `this` 来获取 `page` 对象,示例如下:
```javascript
var page = this.page;
```
## 四、成员属性
### parameters
在打开页面的任意脚本中,可获取传入的参数。
#### 语法
```javascript
var par = this.page.parameters;
```
#### 示例
```javascript
// 打开页面时传入参数
this.form.openPortal(id, "", {"type": "my type"});
// 在打开的页面的任意脚本中获取 parameters
var par = this.page.parameters;
// par 的内容为 {"type": "my type"}
```
## 五、方法
### toPage(name, paropt, nohisopt)
跳转到当前门户的指定页面,仅能在门户页面脚本中使用。
#### 语法
```javascript
this.page.toPage(name, par, nohis);
```
#### 参数
- `name`(String):要跳转的页面名称。
- `par`(Object,可选):要传入被打开页面的数据,在被打开的页面可用 `this.page.parameters` 获取。
- `nohis`(Boolean,可选):页面跳转时,不往 History 里增加历史状态,默认值为 `false`。
#### 示例
```javascript
this.page.toPage("列表页面", {"key": "发文列表"});
// 打开“列表页面”,并传入一个 json 数据
// 在列表页面中,通过 this.page.parameters 获取传入的数据
var key = this.page.parameters.key; // key="发文列表"
```
### toPortal(portal, pageopt, paropt)
跳转到指定门户页面,仅能在门户页面脚本中使用。
#### 语法
```javascript
this.page.toPortal(portal, page, par);
```
#### 参数
- `portal`(String):要跳转的门户名称。
- `page`(String,可选):要打开的门户的页面名称,若为空则打开指定门户的默认首页。
- `par`(String,可选):在被打开的页面可用 `this.page.parameters` 获取。
#### 示例
```javascript
this.page.toPortal("公文门户", "列表页面", {"key": "发文列表"});
// 打开“公文门户”的“列表页面”,并传入一个 json 数据
// 在列表页面中,通过 this.page.parameters 获取传入的数据
var key = this.page.parameters.key; // key="发文列表"
```
### getInfor()
获取当前页面的基本信息。
#### 参考
`module:form.getInfor`
### getApp()
获取打开当前页面的 `component` 对象。
#### 参考
`module:form.getApp`
### node()
获取 `page` 对应的 DOM 对象。
#### 参考
`module:form.node`
### get()
获取页面元素对象。
#### 参考
`module:form.get`
### getWidgetModule(widgetId, fieldId)
获取指定部件元素对象。
#### 语法
```javascript
this.page.getWidgetModule(widgetId, fieldId);
```
#### 参数
- `widgetId`(String):在主页面嵌入部件时用的标识。
- `fieldId`(String):部件内组件标识。
#### 参考
`module:form.get`
#### 返回值
`FormComponent`,可查看本文档的 Classes 导航下的 `FormComponents`。
#### 示例
```javascript
// 1、设计了一个部件,包含一个设计元素 subject
// 2、在主页面里两次嵌入 1 步骤创建的部件,一个标识是 widget_1,widget_2
var module = this.page.getWidgetModule("widget_1", "subject");
// 部件 widget_1 的 subject 组件
var data2 = this.page.getWidgetModule("widget_2", "subject").getData();
// 部件 widget_2 的 subject 组件的值
```
### getField()
获取页面中可输入的字段元素对象。
#### 参考
`module:form.getField`
### close()
关闭当前页面。
#### 参考
`module:form.close`
### confirm()
弹出一个确认框。
#### 参考
`module:form.confirm`
### alert()
显示一个带关闭按钮的信息框。
#### 参考
`module:form.alert`
### notice()
显示一个信息框。
#### 参考
`module:form.notice`
### dialog()
打开一个对话框。
#### 参考
`module:form.dialog`
### selectOrg()
打开人员组织选择界面。
#### 参考
`module:form.selectOrg`
### addEvent()
给页面添加事件。
#### 参考
`module:form.addEvent`
### openWork()
打开一个在流转或已完成的流程实例。
#### 参考
`module:form.openWork`
### openJob()
使用流程的 `jobId` 打开工作。
#### 参考
`module:form.openJob`
### openDocument()
打开一个内容管理文档。
#### 参考
`module:form.openDocument`
### openPortal()
打开一个门户页面。
#### 参考
`module:form.openPortal`
### openCMS()
打开一个内容管理栏目(应用)。
#### 参考
`module:form.openCMS`
### openProcess()
打开一个流程应用。
#### 参考
`module:form.openProcess`
### openApplication()
打开一个任意的 `component` 应用。
#### 参考
`module:form.openApplication`
### createDocument()
创建一个内容管理文档。
#### 参考
`module:form.createDocument`
### startProcess()
启动一个流程实例。
#### 参考
`module:form.startProcess`
### getWidgetPrameters()
在嵌入部件的时候,可以在主页面上传入参数。通过本方法,可以在对应部件或者部件元素的脚本中获取传入的参数。
#### 语法
```javascript
var par = this.page.getWidgetPrameters();
```
#### 返回值
`Object`,任意数据类型,根据传入的参数决定。
#### 示例
```javascript
// 在主页面嵌入部件的地方传入参数
return {"type": "my type"};
// 在对应部件脚本中,可以获取 parameters
var par = this.page.getWidgetPrameters();
// par 的内容为 {"type": "my type"}
```
评论