this.include 脚本配置引用方法说明
由 0x400 发布于
在流程、门户、内容管理或服务管理中创建的脚本配置可通过以下方法引用:
- **`this.include()`**:默认引用JavaScript脚本配置。
- **`this.includeHtml()`**:引用HTML格式的脚本配置(名称以`.html`结尾)。
- **`this.includeCss()`**:引用CSS格式的脚本配置(名称以`.css`结尾)。
- **`this.includeJson()`**:引用JSON格式的脚本配置(名称以`.json`结尾)。
### `this.include()`
**用途**:加载JavaScript脚本配置。
**引入版本**:v8.0及以上(服务管理支持)。
#### 语法
```javascript
this.include(optionsOrName, callback?, async?)
```
#### 参数说明
| 参数 | 类型 | 描述 |
|--------------|-------------------------------|----------------------------------------------------------------------|
| `optionsOrName` | `String`/`Object`/`Array` | 脚本标识(字符串/数组)或对象配置(跨应用引用)。 |
| `callback` | `Function` | 加载完成后的回调函数(可选)。 |
| `async` | `Boolean` | 是否异步加载(可选,默认异步)。 |
#### 示例
1. **引用本应用脚本**:
```javascript
this.include("initScript"); // 单个脚本
this.include(["script1", "script2"]); // 多个脚本
```
2. **跨应用引用(门户为例)**:
```javascript
this.include({
type: "portal",
application: "commonApp",
name: "sharedScript"
});
```
3. **服务管理脚本引用**:
```javascript
this.include({
type: "service",
name: "apiHandler"
});
```
### `this.includeHtml()`
**用途**:加载HTML格式的脚本配置。
**引入版本**:v9.2及以上。
#### 语法
```javascript
this.includeHtml(optionsOrName, callback?, async?)
```
#### 参数说明
| 参数 | 类型 | 描述 |
|--------------|-------------------|----------------------------------------------------------------------|
| `optionsOrName` | `String`/`Object` | 脚本标识(字符串)或对象配置(跨应用引用)。 |
| `callback` | `Function` | 加载完成后的回调函数(可选)。 |
| `async` | `Boolean` | 是否异步加载(可选,默认异步)。 |
#### 示例
1. **加载本应用HTML**:
```javascript
this.includeHtml("header.html");
```
2. **跨应用引用并渲染**:
```javascript
this.includeHtml("test.html").then(html => {
o2.loadHtmlText(html, { dom: this.form.get('container').node });
});
```
### `this.includeCss()`
**用途**:加载CSS格式的脚本配置。
**引入版本**:v9.2及以上。
#### 语法
```javascript
this.includeCss(optionsOrName, callback?, async?)
```
#### 参数说明
| 参数 | 类型 | 描述 |
|--------------|-------------------|----------------------------------------------------------------------|
| `optionsOrName` | `String`/`Object` | 脚本标识(字符串)或对象配置(跨应用引用)。 |
| `callback` | `Function` | 加载完成后的回调函数(可选)。 |
| `async` | `Boolean` | 是否异步加载(可选,默认异步)。 |
#### 示例
1. **加载本应用CSS**:
```javascript
this.includeCss("styles.css");
```
2. **全局应用CSS样式**:
```javascript
this.includeCss("theme.css").then(css => {
o2.loadCssText(css, { dom: document.body });
});
```
### `this.includeJson()`
**用途**:加载JSON格式的脚本配置。
**引入版本**:v9.2及以上。
#### 语法
```javascript
this.includeJson(optionsOrName, callback?, async?)
```
#### 参数说明
| 参数 | 类型 | 描述 |
|--------------|-------------------|----------------------------------------------------------------------|
| `optionsOrName` | `String`/`Object` | 脚本标识(字符串)或对象配置(跨应用引用)。 |
| `callback` | `Function` | 加载完成后的回调函数(可选)。 |
| `async` | `Boolean` | 是否异步加载(可选,默认异步)。 |
#### 示例
1. **加载本应用JSON数据**:
```javascript
this.includeJson("config.json").then(data => {
console.log(data);
});
```
### 注意事项
1. **异步加载建议**:优先使用异步加载(`async: true`)以提升表单/页面加载速度。
2. **跨应用引用**:需明确指定`type`(应用类型)和`application`(应用标识)。
3. **同步加载**:同步加载(`async: false`)可能阻塞主线程,非必要场景不推荐使用。
评论