【问题标题】:Do not go to a new page Vue-router不要去新页面 Vue-router
【发布时间】:2019-04-07 20:34:32
【问题描述】:

我是 vue js 的新手。我的任务是从 api 获取数据,进行分页并在单击任何帖子时打开一个新页面,其中包含有关该帖子的更多详细信息。我做了分页,但我无法进行过渡。在点击帖子时,链接会发生变化,但不会执行转换。

Project on GitHub

我的主要代码:

<template>
  <div id="app">
      <ul>
        <li v-for="(post, index) of paginatedData" class="post">
          <router-link :to="{ name: 'detail', params: {id: index} }">
          <img src="src/assets/nature.jpg">
          <p class="boldText"> {{ post.title }}</p>
          </router-link>
          <p> {{ post.body }}</p>
        </li>
      </ul>



  </div>
</template>

<script>
import axios from 'axios';
export default {
  el: "#app",
  data () {
    return {
      current: null,
      page: 0,
      posts: [],
      }
    },
    created(){
      this.getData()
    },
    methods: {
    setCurrent: function(id) {
      this.current = id;
    },
    getData() {
      axios.get(`https://jsonplaceholder.typicode.com/posts`).then(response => {
        this.posts = response.data
      })
    },
  }
  }
</script>

我的详细帖子页面:

<template>
  <div class="post" v-if="detail">
    <img src="src/assets/nature.jpg">
    <h2>{{ post.title }}</h2>
    <p>{{ post.body }}</p>
  </div>
</template>

<script>
  module.exports = {
    data: function() {
      return {
        posts: [],
      }
    },
    created: function() {
      var postId = this.$route.params.id
      this.post = this.posts[postId]
    }
  }
</script>

我的 main.js:

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'

var Detail = require('./Detail.vue')

Vue.use(VueRouter)

var router = new VueRouter({
  routes: [
    {path: 'detail/:id', name: 'detail', component: Detail }
  ]
})

new Vue({
  el: '#app',
  render: h => h(App),
  router: router,
})

【问题讨论】:

标签: javascript vue.js vue-router


【解决方案1】:

您需要一个路由器视图标签。这基本上将路由组件呈现在标签内。

https://router.vuejs.org/guide/#html

【讨论】:

  • {{ post.title }}

    {{ post.title正文 }}

    路由器视图>
  • 我将 添加到
  • 但它不起作用
  • 路由器视图应该在根元素的某处,例如在 App.vue 中。您的分页将是一个列表组件,也应该添加到您的路由器中。你可以看看这个例子..
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签