跳到主要内容

App

App对象是前端平台API的核心,提供了应用级别的属性和方法。

访问App对象

元素内部访问

元素对象上都有一个成员变量app,通过this.app即可拿到app对象:

// 在元素的方法中使用
export default {
methods: {
someMethod() {
// 获取应用对象
const app = this.app;

// 使用app对象的方法
const element = app.getElement("models.UserModel");
}
}
}

全局访问

平台层还提供了一个getRuntimeApp方法,用于获取当前运行的app对象:

import { getRuntimeApp } from 'jit';

const app = getRuntimeApp();
const element = app.getElement("models.UserModel");

属性

名称类型说明
appIdstring应用ID,例如:wanyun.MyApp
namestring应用名称
titlestring应用标题,例如:我的应用
versionstring应用版本,三段点分版本号,例如:1.0.0
rootPathstring应用根路径
themestring应用主题(可选)
iconstring应用图标(可选)

方法

getElement

获取指定的元素实例,这是日常开发中最常用的方法。

参数:

  • elementPath (string): 元素路径,如 "models.UserModel"
  • platform (string, 可选): 平台类型,PC、MOBILE,默认PC

返回值:

元素模块对象。

返回值类型:

Promise<ElementModule>

示例:

// 获取元素
const element = await app.getElement("models.UserModel");

// 调用元素方法
const result = await element.someMethod();

getDefineByType

根据类型获取元素定义。

参数:

  • type (string): 元素类型,如 "models.NormalType"
  • recursive (boolean, 可选): 是否查找继承
  • sort (boolean, 可选): 是否排序

返回值:

元素定义列表。

返回值类型:

ElementDefine[]

getElementDefine

按元素目录获取所有元素定义。

参数:

  • fullName (string): 元素完整名称,如 "models.UserModel"
  • recursive (boolean, 可选): 是否查找继承

返回值:

元素定义列表。

返回值类型:

ElementDefine[]

getInsDefineByType

根据类型获取所有实例元素定义。

参数:

  • type (string): 需要查找的type的type,一般为Meta元素
  • recursive (boolean, 可选): 是否查找继承
  • allowPrivate (boolean, 可选): 是否允许私有元素
  • sort (boolean, 可选): 是否排序

返回值:

元素定义列表。

返回值类型:

ElementDefine[]

getUniqInsDefineByType

根据类型获取去重后的实例元素定义(重写后只会保留重写元素)。

参数:

  • type (string): 需要查找的type的type,一般为Meta元素
  • recursive (boolean, 可选): 是否查找继承
  • allowPrivate (boolean, 可选): 是否允许私有元素
  • sort (boolean, 可选): 是否排序

返回值:

元素定义列表。

返回值类型:

ElementDefine[]

页面导航方法。

参数:

  • url (string): 导航地址
  • options (object, 可选): 导航选项
    • replace (boolean): 是否替换当前历史记录

返回值:

无。

返回值类型:

void

示例:

// 普通导航
app.navigate('/user/profile');

使用示例

// 完整的使用示例
export default {
async mounted() {
// 获取应用信息
const app = this.app;
console.log(`应用ID: ${app.appId}`);
console.log(`应用标题: ${app.title}`);

// 获取元素
const userModel = await app.getElement("models.UserModel");
const userList = await userModel.getAll();

// 页面导航
app.navigate('/user/list');
}
}