HarmonyOS 鸿蒙Next Lite Empty Ability 轻量级瘦设备的js 应用跳转怎么做?

HarmonyOS 鸿蒙Next Lite Empty Ability 轻量级瘦设备的js 应用跳转怎么做?

cke_177.png cke_373.png

我的代码如下:

A应用:包名为 com.example.api7litedemo

CSS:

/* index.css */
.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
}

.title {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  color: #000000;
  width: 100%;
  margin: 10px;
}

.btn {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  color: #DDDDDD;
  background-color: #B050B0;
  width: 40%;
  height: 10%;
  margin-top: 20px;
}

HML:

<!-- index.hml -->
<div class="container">
    <text class="title">
        Hello World
    </text>

    <!-- 添加按钮,值为Next,并绑定onclick方法-->
    <input class="btn" type="button" value="Next" onclick="onclick">
    <input class="btn" type="button" value="goto app" onclick="gotoapp">
</div>

JS:

// index.js
// 导入页面路由模块
import router from '@system.router';
import featureAbility from '@ohos.ability.featureAbility';

var wantapp = {
    want: {
        uri:"pages/index/index",
        bundleName:"com.example.api7litedemo2",
        abilityName:"com.example.api7litedemo2.default"
    }
}

export default {
    onclick () {
        router.replace({
            uri: "pages/second/second",
        });
    },

    gotoapp() {
        featureAbility.startAbility(wantapp)
            .then((data) => {
                console.info('Operation successful. Data: ' + JSON.stringify(data))
            }).catch((error) => {
            console.error('Operation failed. Cause: ' + JSON.stringify(error));
        })
    }
}

config.json

{
  "app": {
    "vendor": "example",
    "bundleName": "com.example.api7litedemo",
    "version": {
      "code": 1000000,
      "name": "1.0.0"
    }
  },
  "deviceConfig": {},
  "module": {
    "deviceType": [
      "liteWearable"
    ],
    "abilities": [
      {
        "name": "default",
        "icon": "$media:icon",
        "label": "$string:entry_MainAbility",
        "type": "page"
      }
    ],
    "distro": {
      "moduleType": "entry",
      "deliveryWithInstall": true,
      "moduleName": "entry"
    },
    "js": [
      {
        "pages": [
          "pages/index/index",
          "pages/second/second"
        ],
        "name": "default"
      }
    ]
  }
}

B应用与A应用代码相同,包名为 com.example.api7litedemo2

我要如何用startAbility实现瘦设备之间的应用跳转?


更多关于HarmonyOS 鸿蒙Next Lite Empty Ability 轻量级瘦设备的js 应用跳转怎么做?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

不支持

更多关于HarmonyOS 鸿蒙Next Lite Empty Ability 轻量级瘦设备的js 应用跳转怎么做?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这里报错

在HarmonyOS(鸿蒙)Next Lite中,轻量级瘦设备的JS应用跳转可以通过router模块实现。router模块提供了页面跳转的能力,支持pushreplace两种方式。

  1. 页面跳转(push

    • 使用router.push方法可以将新页面压入页面栈,保留当前页面。
    • 示例代码:
      import router from '@ohos.router';
      router.push({
          url: 'pages/NextPage'
      });
      
  2. 页面替换(replace

    • 使用router.replace方法可以替换当前页面,不保留当前页面。
    • 示例代码:
      import router from '@ohos.router';
      router.replace({
          url: 'pages/NextPage'
      });
      
  3. 页面返回

    • 使用router.back方法可以返回到上一个页面。
    • 示例代码:
      import router from '@ohos.router';
      router.back();
      
  4. 传递参数

    • 可以通过params属性传递参数到目标页面。
    • 示例代码:
      import router from '@ohos.router';
      router.push({
          url: 'pages/NextPage',
          params: {
              key: 'value'
          }
      });
      

在目标页面中,可以通过router.getParams方法获取传递的参数。

import router from '@ohos.router';
const params = router.getParams();

以上是HarmonyOS Next Lite中轻量级瘦设备的JS应用跳转的基本实现方式。

回到顶部