App

app.js

app.js 文件是作为整个工程的入口文件,定义全局变量。

全局变量

定义与 app 变量同级,其他页面及模块可以直接调用。※ 生命周期与工程一致,使用过多会导致内存增加。

/* app.js Code START */
var app = {

};

/** 打印函数
 * obj : 需要打印的对象
 */
var ConsoleTest = function (obj) {
    console.dir(obj);
}
App(app);
/* app.js Code END*/

/* page1.js Code START*/
var page = {
    onLoad:function(event) {
        // 直接调用函数,无需加前缀关键字
        ConsoleTest(1);                                         // 1.00000
        ConsoleTest("string");                                  // "string"
        ConsoleTest({ test: { test1Key: "test1 value" } });     // {test : {test1Key : "test1 value"}}
    }
};
Page(page);
page = 0;
/* page1.js Code END */

onLaunch

App 加载完成后回调接口。一般用于初始化使用。

onExit

App 关闭退出时回调接口。用于关闭前做一些数据保存以及资源释放。

示例代码

var app = {
    defaultStr:'',
    onLaunch: function () {
        /* 初始化 defaultStr */
        defaultStr = "defaultStr";
        console.log('app onLaunch');
    },

    onExit: function () {
        console.log('app onExit');
    }
};

App(app);

onUpdate

向当前所有存在的 Page 的 onUpdate 函数传递数据。

示例代码见 page&this 文档 onUpdate

参数 类型 描述
data Object 相关数据

* 所有已存在且有 onUpdate 函数的页面会被触发。例如 已打开 page1、page2、page3 页面,如果 page2 页面代码内没有 onUpdate 函数,只会触发 page1、page3 页面的 onUpdate 函数。

/* 参数需要为 Object 类型
  这时所有已存在且有 onUpdate 函数的页面会被触发
*/
var paraValue = { key : value };
app.onUpdate({ pare: { paraKey: paraValue } })

AppSwitch

应用切换接口,切换为另一套应用。关闭释放当前工程,加载目标工程。代码位置没有限制。

* 此接口一般用于 OTA 升级使用。

参数 类型 描述
app String 默认目标应用的路径为 app.js 所在目录
  • 示例
/* 切换工程为 app.js 所在目录下 app/demo 内的工程
   例如系统升级时,切换到系统升级对应的工程,进行升级相关操作 */
AppSwitch("/app/demo");

AppExit

应用当前退出接口,内存全部释放。代码位置没有限制。

  • 示例
/* 退出当前工程 */
AppExit();