【问题标题】:nativescript-vue navigateTo outside of vue componentnativescript-vue navigateTo 在 vue 组件之外
【发布时间】:2020-03-20 04:18:28
【问题描述】:

您好,我昨天解决了一个问题,但又出现了。

我尝试使用一个函数在我的 vue 页面之间进行路由。

routes.js

import Page from '../components/Page'

const routes = {
    Page
}

export const vue = routes

Navigator.js

import { topmost } from 'tns-core-modules/ui/frame'

function navigateTo (page) {
  topmost().currentPage.__vuePageRef__.$navigateTo(page)
}

export { navigateTo }

Vue 页面:

import {navigateTo} from "../router/navigator";

  created: function() {
    navigateTo(routes.vue.Page);
  }

但它给我带来了错误

System.err: TypeError: Cannot read property 'currentPage' of undefined

我记得我昨天通过将 navigateTo 'function' 更改为 'default function' 解决了这个问题。

但这一次它给我抛出了一个错误,叫做:

System.err: TypeError: Object(...) is not a function

当我通过 routes.vue.Page

感谢您的帮助。

【问题讨论】:

    标签: javascript nativescript-vue


    【解决方案1】:

    它并不能精确地修复您遇到的错误,但还可以正常工作。

    路由器.js

    import login from "./views/Login";
    import home from "./views/Home";
    
    export default {
        login,
        home
    }
    

    main.js

    import Vue from "nativescript-vue";
    import router from "./router";
    
    Vue.prototype.$goTo = function(to, props, params) {
        if (!router[to]) return;
    
        this.$navigateTo(router[to], {
            props,
            ...params // clearHistory, backstackVisible
        });
    }
    

    组件.vue

    export default {
        methods: {
            goToLogin() {
                this.$goTo("login");
            },
            goToHome(prop) {
                this.$goTo("home", { prop }, { clearHistory: true });
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 2019-04-19
      • 2020-03-22
      • 2019-12-25
      • 2019-11-12
      • 2019-06-29
      • 2019-09-24
      • 2019-01-06
      • 2020-08-25
      相关资源
      最近更新 更多