nativescript-vue navigateTo vue 页面道具被缓存

Posted

技术标签:

【中文标题】nativescript-vue navigateTo vue 页面道具被缓存【英文标题】:nativescript-vue navigateTo vue page props is cached 【发布时间】:2020-03-22 07:18:39 【问题描述】:

我几天前解决了无法浏览vue页面的问题。 问题消失后,我尝试将错误的键值传递给我重定向到的 vue 页面,从而犯了一个错误。

在特定的vue页面上执行页面navigateTo方法时出现错误:

JS:“出现错误!” [ReferenceError: test is not defined]

这是使用 props 重定向的方法:

import Vue from "nativescript-vue";
import router from "./router";

Vue.prototype.$changePage = function(to, props, params) 

  this.$navigateTo(router[to], 
      props,
      ...params // clearHistory, backstackVisible
  );


我调用函数的方式是:

    goToHome(prop) 
        this.$changePage( aspecificpage,  test:'hello' ,  clearHistory: true );
    

现在每次我想访问该特定页面时,我传递了错误的道具内容都会引发错误。正在调用任何其他页面,没有任何问题。 你知道如何解决这个问题吗?

提前谢谢你们。

【问题讨论】:

如果我可以删除 nativescript-vue 的缓存,问题就可以解决,但我一直在寻找它,但找不到任何相关信息。 【参考方案1】:

main.js

import Vue from 'nativescript-vue'
import Bootup from './components/App'
import Select from './components/Select/StationSelect'
import RouteDetails from "./components/Route/SingleTrain/Details"

const router = 
    Bootup: Bootup,
    Select: Select,
    RouteDetails: RouteDetails
;

Vue.prototype.$router = router;

Vue.prototype.$changePage= function (to, props = null) 
    this.$navigateTo(this.$router[to], props)
;

someVuePage.vue


goToHome() 
    this.$changePage('MultiRouteDetails', 
        props: 
            test: "hello"
        
    );


【讨论】:

以上是关于nativescript-vue navigateTo vue 页面道具被缓存的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 nativescript-vue 中的 RadDataForm 样式? (Nativescript-Vue)

NativeScript-vue 条码创建

Nativescript-vue graphql 后端?

nativescript-vue 的实现角度插件

使用 ListView 和 nativescript-vue 进行无限滚动

全局组件使用以避免代码重复(Nativescript-Vue)