javascript - nativescript-vue navigateTo 在 vue 组件之外
问题描述
您好,我昨天解决了一个问题,但又出现了。
我尝试使用一个函数在我的 vue 页面之间进行路由。
路由.js
import Page from '../components/Page'
const routes = {
Page
}
export const vue = routes
导航器.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:无法读取未定义的属性“currentPage”
我记得我昨天通过将 navigateTo 的“功能”更改为“默认功能”解决了这个问题。
但这一次它给我带来了一个错误,叫做:
System.err: TypeError: Object(...) is not a function
当我通过routes.vue.Page
我会很感激任何帮助谢谢。
解决方案
它并不能精确地修复您遇到的错误,但工作正常。
路由器.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 });
}
}
}
推荐阅读
- vba - Countifs 函数抛出对象定义错误
- javascript - JS/HTML,引导弹出窗口和可编辑弹出窗口之间的冲突破坏了可编辑的保存数据
- hyperledger-fabric - Hyperledger Cello Operator Dashboard 不断加载
- r - 在 R 中,使用滞后操作时间序列
- class - 如何使用链式方法访问扩展类中的公共变量?
- sql - SQL查找表中第一次出现的行
- wordpress - Wordpress 管理员只显示文本
- odoo-11 - 标题和副标题需要 Odoo 11 网站博客颜色选择器
- php - 我们如何在 PHP 中的 Fatfree 框架中包含语言区域设置
- javascript - 启用搜索框 - 数据表