【问题标题】:Vue.js Routing with back button带有后退按钮的 Vue.js 路由
【发布时间】:2017-03-04 02:42:21
【问题描述】:

我已经在使用这个 Vue.js 路由示例应用程序。

https://github.com/chrisvfritz/vue-2.0-simple-routing-example

src/main.js 我有这么多数据价值。

const app = new Vue({
  el: '#app',
  data: {
    currentRoute: window.location.pathname,
    token : "",
    errorMessage : '', etc...etc..
  },

现在使用 socket.io 我将令牌设置为 "sdawdda2d2ada2ad22ad"

当应用启动比currentRoute等于"/" 没关系,加载的第一页。 src/routes.js

'/': 'Home',
'/about': 'About'

当我想检查 /about (url:localhost:8080/about) 时,它的效果很好,但令牌和 errorMessage 又是空的,因为应用程序再次创建。

如果我想在不丢失令牌值的情况下更改页面,我可以使用:

this.currentRoute = "/about"       (url: localhost:8080)

它工作得很好,但 url 没有改变,所以我不能在浏览器中使用后退按钮。 如果我不想在浏览器转到 /about 时丢失令牌值,我该如何分离我的 Vue 应用程序?

非常感谢!

【问题讨论】:

标签: javascript vue.js vue-router


【解决方案1】:

简单的方法

<template lang="html">
  <div>   
    <button @click="goBack">
      Back
    </button>
  </div>
</template>
<script>
  export default {
    methods: {
      goBack() {
        this.$router.go(-1)
      }
    }
  }
</script>

【讨论】:

    【解决方案2】:

    您可以执行this.$router.go(-1)vm.$router.go(-1) 之类的操作以获取更多信息this.$router.go(1) click here

    【讨论】:

    • 如果我按照你的方法,前一页中的道具将被设置为空。有没有办法在路由到上一页时保持 prop 值。
    • @beingyogi:我只需将道具值存储在localStorage 中,然后导航到另一个页面并在mounted() 事件中重新加载它们。这也适用于浏览器自己的后退按钮。
    【解决方案3】:

    当您从Home 路线移动到About 路线时,您需要使用&lt;router-link&gt; 进行导航。

    从您的home 页面,您可以导航到about 页面,如下所示:

    <router-link to="/about">Go to my About Page</router-link>
    

    这会生成一个常规的 html 锚标记 &lt;a&gt;,并且路径设置正确。当您单击它时,它将带您到 about 组件,而不是从服务器刷新整个 html 网页(带有应用程序脚本)。

    当仅更改路由组件时,Vue 实例上的所有其他 Vue 参数(如令牌)都将保留。

    请在此处查看vue-routerhttp://router.vuejs.org/en/essentials/getting-started.html

    请记住在您的主应用程序中为路由添加一个占位符,如下所示:&lt;router-view&gt;&lt;/router-view&gt;。当您更改路由时,您的 HomeAbout 组件将被渲染到此 router-view 中。

    【讨论】:

    • 非常感谢,我会试试这个。但这对我来说很难,因为我不擅长前端技术。但我试试看:)
    猜你喜欢
    • 2015-12-01
    • 2019-03-15
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多