【快应用】onShow, onHide, onBackpress, onMenuPress事件监听不执行

现象描述

代码中设置的onShow, onHide, onBackpress, onMenuPress事件监听没有执行。

 

问题分析

此类问题一般是由于将自定义组件作为根节点导致的,错误代码示例如下:

<import name="loading" src="./loading/loading.ux"></import>

<template>

  <loading></loading>

</template>

<script>

  import prompt from '@system.prompt';

  export default {

    onInit: function () {

      console.log("hello onInit");

    },

    onReady: function () {

      console.log("hello onReady");

    },

    onShow: function () {

      console.log("hello onShow");

    },

    onHide: function () {

      console.log("hello onHide");

    },

    onDestroy: function () {

      console.log("hello onDestroy");

    },

  }

</script>

 

解决方法

检查添加监听的当前页的根节点是否是自定义组件,如果是,则在外层添加一个div作为根节点。

<import name="loading" src="./loading/loading.ux"></import>

<template>

  <div>

    <loading></loading>

  </div>

</template>

<script>

  import prompt from '@system.prompt';

  export default {

    onInit: function () {

      console.log("hello onInit");

    },

    onReady: function () {

      console.log("hello onReady");

    },

    onShow: function () {

      console.log("hello onShow");

    },

    onHide: function () {

      console.log("hello onHide");

    },

    onDestroy: function () {

      console.log("hello onDestroy");

    },

  }

</script>

​欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

posted @ 2022-11-18 11:00  华为开发者论坛  阅读(89)  评论(0编辑  收藏  举报