当前位置: 首页 > 知识库问答 >
问题:

Nativescript Vue导航系统

何峰
2023-03-14

我刚开始使用NativeScript,不知道如何导航页面/视图。不幸的是,vue路由器似乎仍然不受支持,所以我正在考虑使用手动路由。但是,我在app\components中有多个vue组件,不想按照示例所示的方式将它们全部放在一个vue中。

我有这个在我的第一个页面浏览量:

<script>
import pageB from "./PageB";

export default {
    methods: {
        onButtonTap() {
            //console.log("Page B Button was pressed");
            this.$navigateTo(pageB);
        }
    },
    created() {},

    data() {
        return {};
    },
    mounted() {}
};
</script>

但当我点击按钮时,我得到一条信息:

[iPhone 8+]: The Preview app has terminated unexpectedly. Please run it again to get a detailed crash report. [iPhone 8+]: '{NSVue (Vue:
2.5.17 | NSVue: 2.0.0)} -> CreateElement(nativelabel)' 2018-10-28 13:54:15.823 nsplaydev[1294:331774] -[TNSLabel useLayoutToLayoutNavigationTransitions]: unrecognized selector sent to instance 0x10a909f00 2018-10-28 13:54:15.826 nsplaydev[1294:331774] PlayLiveSync: Uncaught Exception 2018-10-28 13:54:15.827 nsplaydev[1294:331774] PlayLiveSync: Sending crash report 2018-10-28 13:54:19.831 nsplaydev[1294:331774] *** JavaScript call stack: ( 0 pushViewControllerAnimated@[native code] 1 pushViewControllerAnimated@file:///app/tns_modules/tns-core-modules/ui/frame/frame.js:343:61 2
_navigateCore@file:///app/tns_modules/tns-core-modules/ui/frame/frame.js:116:56 3 performNavigation@file:///app/tns_modules/tns-core-modules/ui/frame/frame-common.js:235:27 4
_processNextNavigationEntry@file:///app/tns_modules/tns-core-modules/ui/frame/frame-common.js:227:39 5 navigate@file:///app/tns_modules/tns-core-modules/ui/frame/frame-common.js:131:41 6 navigate@file:///app/tns_modules/nativescript-vue/dist/index.js:6494:24 7 navigate@[native code] 8 @file:///app/tns_modules/nativescript-vue/dist/index.js:13221:26 9 initializePromise@:1:11 10 Promise@[native code] 11 $navigateTo@file:///app/tns_modules/nativescript-vue/dist/index.js:13198:25 12 onButtonTap@file:///app/components/PageB.js:20:29 13 onButtonTap@[native code]
    2018-10-28 13:54:19.831 nsplaydev[1294:331774] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TNSLabel useLayoutToLayoutNavigationTransitions]: unrecognized selector sent to instance 0x10a909f00'

*** First throw call stack:
(0x226727ef8 ....)
libc++++abi.dylib: terminating with uncaught exception of type NSException
2018-10-28 13:54:19.832 nsplaydev[1294:331774] PlayLiveSync: Uncaught Exception

我注意到错误引用所需的页面作为javascript: PageB. js甚至认为不存在。这是否意味着路由不能在这里与vue组件一起工作?

如果有人能给我举一个NativeScript的multi-vue.file示例,也许这会帮助我解决这个问题。

共有2个答案

堵才哲
2023-03-14

当我第一次介绍NS navigation时,我不明白的是,所有的导航都发生在一个元素中。不确定这是你的问题,但也许可以快速检查一下。一个简单的单帧示例可以是:

<template>
  <Frame>
    <PageA />
  </Frame>

然后在PageA中导航到PageB,如示例所示。

上官德寿
2023-03-14

使用常量pageB=需要("./PageB")。默认;

而不是从“/pageB”导入pageB

 类似资料:
  • 7.1.2 导航之坐标系 1.简介 定位是导航中的重要实现之一,所谓定位,就是参考某个坐标系(比如:以机器人的出发点为原点创建坐标系)在该坐标系中标注机器人。定位原理看似简单,但是这个这个坐标系不是客观存在的,我们也无法以上帝视角确定机器人的位姿,定位实现需要依赖于机器人自身,机器人需要逆向推导参考系原点并计算坐标系相对关系,该过程实现常用方式有两种: 通过里程计定位:时时收集机器人的速度信息计算

  • 我有如下的屏幕,其中包含一个导航抽屉和底部导航在同一个屏幕上: 我正在使用Jetpack导航架构组件。 当前问题和我尝试了什么? 单击第二个和第三个底部导航项目会在工具栏上显示返回箭头吗? 已尝试:将与第二和第三底部导航相关联的片段设置为顶级目的地 代替 不起作用。 任何帮助高度赞赏! 我的代码如下所示。 activity_main.xml menu_bottom.xml nav_graph.xm

  • 在Android 5.0的指南中,导航栏似乎是可定制的:http://www . Google . com/design/spec/layout/structure . html # structure-system-bars 如何更改导航栏的颜色?我想用白色的。 编辑:在我的资源中,我测试了这种风格: 但是按钮是白色的。我想作为第二个图像相同的渲染器。

  • Bootstrap中的导航组件分享了常用的标记和样式,从基本的.nav类到激活和禁用的状态。交换修饰类,可以在各种样式之间切换。 关于易用性 如果你使用导航来制作一个导航栏,请确保向<ul>的逻辑父元素添加了role="navigation"或者给整个导航条包裹一个<nav>元素。不要在<ul>的本身上面添加这个role,因为这将阻止它被使用辅助技术的用户声明为一个真正的列表。 基础导航 通过扩展

  • 在 NAV.md 文件可配置网站的导航标题、logo、菜单列表信息,简单示例如下: # YDoc ![logo](ydoc/images/logo.png) * [文档](/documents/index.md) * [文档规范](/style-guide/index.md) * [插件](/plugins/index.md) 上面的 markdown 内容可生成如下导航信息: 标题:YDoc

  • 监听url的变化 监听当前位置的更改: const onLocationChanged = (location) => { console.log(location.pathname); console.log(location.query); console.log(location.hash); }; module.exports = GitBook.createPl