script 脚本

    更新时间:

    用来定义页面数据和实现生命周期接口

    语法

    支持 ES6 语法

    模块声明

    可以通过 import 引入功能模块,在代码中调用模块方法(具体参看功能接口部分文档说明)

    import fetch from '@system.fetch'
    复制代码

    代码引用

    JS 代码引用推荐使用 import 来导入, 例如:

    import utils from '../Common/utils.js'
    复制代码

    注意: vivo 手表环境不是 node 环境,不要引用 node 原生模块,如 import fs from 'fs'

    对象

    页面级组件

    属性 类型 描述
    data Object | Function 页面级组件的数据模型,能够转换为 JSON 对象;属性名不能以$或_开头, 不要使用 for, if, show, tid 等保留字
    如果是函数,返回结果必须是对象,在组件初始化时会执行函数获取结果作为 data 的值
    使用 data 方式声明的属性会被外部数据覆盖,因此存在一定安全风险。

    自定义组件

    属性 类型 描述
    data Object | Function 自定义组件的数据模型,能够转换为 JSON 对象;属性名不能以$或_开头, 不要使用 for, if, show, tid 等保留字
    如果是函数,返回结果必须是对象,在组件初始化时会执行函数获取结果作为 data 的值
    props Array | Object 定义组件外部可传入的所有属性;属性名不能以$或_开头, 不要使用 for, if, show, tid 等保留字
    在模板代码中,请使用短横线分隔命名代替驼峰命名。如,属性定义 props: ['propA'],可通过<tag prop-a='xx'>方式传递到组件内部

    公共对象

    属性 类型 描述
    $app Object 应用对象
    $page Object 页面对象
    $valid Boolean 页面对象是否有效
    $device { deviceType: string } 获取当前设备类型。watch-square:方形手表,watch-round:圆形手表

    应用对象

    可通过$app访问

    属性 类型 描述
    $def Object 使用this.$app.$def获取在app.ux中暴露的对象

    方法

    公共方法

    属性 类型 参数 描述
    $element Function id: String 组件 id 获取指定 id 的组件调用来对应的组件方法
    $set Function key: String 属性名称
    value: Any
    添加数据属性,用法:this.$set('key',value)

    事件方法

    属性 类型 参数 描述
    $watch Function data: String 属性名, 支持'a.b.c'格式,不支持数组索引
    handler: String 事件句柄函数名, 函数的第一个参数为新的属性值,第二个参数为旧的属性值
    动态添加属性/事件绑定,属性必须在 data 中定义,handler 函数必须在<script>定义;当属性值发生变化时事件才被触发用法:this.$watch('a','handler')

    应用方法

    可通过$app访问

    属性 类型 参数 描述
    exit Function 退出 vivo 手表,结束应用生命周期。
    调用方法:this.$app.exit()

    该 feature 依赖 system.app, 请确保在 manifest.json 中引入

    页面方法

    可通过$page访问

    属性 类型 参数 描述
    setStopGestureQuit Function Number 是否屏蔽手势返回,1 - 屏蔽。0 - 不屏蔽。
    调用方法:this.$page.setStopGestureQuit(1)

    该 feature 依赖 system.router, 请确保在 manifest.json 中引入

    生命周期

    页面生命周期

    onInit

    监听页面初始化。当页面完成初始化时调用,只触发一次

    onReady

    监听页面创建完成。当页面完成创建可以显示时触发,只触发一次

    参数

    onShow

    监听页面显示。当进入页面时,或者当前页面被弹框覆盖时触发

    参数

    onHide

    监听页面隐藏。当页面跳转离开时,或者覆盖当前页面的弹框消失时触发

    参数

    onDestroy

    监听页面退出。当页面跳转离开(不进入导航栈)时触发

    参数

    onBackPress()

    监听返回动作。当用户执行返回操作时触发。只有当前页面配置了 followHand : disable,该接口才生效。

    参数

    返回值
    类型 描述
    Boolean 返回 true 表示页面自己处理返回逻辑,返回 false 表示使用默认的返回逻辑,不返回值会作为 false 处理; 注意:该函数不支持声明为异步函数(即:使用async标识),因为返回值代表界面要立即响应用户操作;

    onRefresh

    监听页面重新打开。

    1.当页面在 manifest 中 launchMode 标识为'singleTask'时,仅会存在一个目标页面实例,用户多次打开目标页面时触发此函数。
    该回调中参数为重新打开该页面时携带的参数。
    详见页面启动模式

    参数
    参数名 类型 描述
    query Object 通过 deeplink、router.push 等接口传入的 uri 中 query 解析成的对象,或者 router.push 等接口传入的 params 对象

    onKey

    监听按键响应。当按键被触发时回调

    参数
    参数名 类型 描述
    event Object 被触发的按键事件
    event 参数
    参数名 类型 描述
    keyCode Number 按下的键位,0:下键(电源键),1:上键
    keyAction Number 按下或弹起的动作 0:按下 1:短按弹起 2:长按弹起
    repeatCount Number 连续按的次数,按键在长按的时候,会连续产生多个按下事件,这个时候第一个按下事件的 repeatCount 为 0,之后的按下事件 repeatCount 会递增。
    示例代码:
    onKey(event) {
      console.log(`key pressed! ${JSON.stringify(event)}`);
      console.info(`触发页面生命周期 onKey`)
    }
    复制代码

    onConfigurationChanged

    监听系统语言改变

    参数
    参数名 类型 描述
    event Object 应用配置发生变化的事件

    event 参数:

    参数名 类型 描述
    type String 应用配置发生变化的原因类型,支持的 type 值如下所示

    event 中type 现在支持的参数值如下:

    参数值 描述
    locale 应用语言、地区变化而发生改变

    示例代码:

    onConfigurationChanged(evt) {
      if (event && event.type && event.type === 'locale') {
        console.log('locale or language changed!')
      }
    }
    复制代码

    onPalmOver

    监听手掌覆盖事件

    参数

    返回值

    true 表示不将事件继续传递给 launcher,其他值或者不返回都会将事件继续传递给 launcher。

    示例代码:

    onPalmOver(evt) {
      console.info(`大手掌事件 onPalmOver`)
      return true;
    }
    复制代码

    页面的生命周期接口的调用顺序

    • 打开页面 A:onInit() -> onReady() -> onShow()
    • 在页面 A 打开页面 B:onHide()
    • 从页面 B 返回页面 A:onShow()

    自定义组件的生命周期

    自定义组件,指的是通过 import 标签引入的 ViewModel 组件

    属性 类型 参数 返回值 描述 触发时机
    onInit Function 监听初始化 当数据驱动化完成时触发
    onReady Function 监听模板创建完成 当模板创建完成时触发
    onDestroy Function 监听组件销毁 当销毁时触发

    应用生命周期

    onCreate()

    监听应用创建,应用创建时调用

    参数

    onDestroy()

    监听应用销毁,应用销毁时调用

    参数

    app.ux 对象的属性

    app.ux 对象指的是:开发者在app.ux<script>节点内要导出的对象

    上一篇
    style样式
    下一篇
    拓展
    以上内容对您是否有帮助?
    • 毫无帮助
    • 帮助不大
    • 一般
    • 很好
    • 非常好
    意见反馈