当前位置: 首页 > 知识库问答 >
问题:

vue 2.0和vue路由器2.0构建SPA,路由器视图没有更新

平庆
2023-03-14

使用vue 2、vue路由器2和vuex 2构建单页应用程序,但不更新

/src/main。js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import { sync } from 'vuex-router-sync'
sync(store, router)
new Vue({
  router,
  store,
  ...App
}).$mount('#app')

/src/路由器/索引。js

import Vue from 'vue'
import routes from './routes'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const router = new VueRouter({
  mode: 'history',
  routes
})
export default router

/src/路由器/路由。js

import loader from './loader'
const routes = [
  { path: '/index', name: 'index', component: (r) => require(['./../views/index.vue'], r) }
]
export default routes

/src/store/index。js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
  modules: {}
})
export default store

/src/view/index。vue

<template>
<div>
  <h1>Hello index</h1>
</div>
</template>
<script>
import loader from './../../../router/loader'
export default {
  name: 'index',
  created () {
    console.log('This is index')
  }
}
</script>

/src/App。vue

<template>
  <div id="app">
    <router-link :to="'index'">index</router-link>
    <router-view></router-view>
  </div>
</template>
<script>
export default {
  name: 'app',
  mounted () {
    console.log('Hello App')
  }
}
</script>

我不知道代码有什么问题,


共有2个答案

东方河
2023-03-14

$mount('#app')很好,我认为问题在于你的路线。js

试试这个吧:

import Index from './../views/index.vue'

const routes = [
  { path: '/index', name: 'index', component: Index }
]

这里是一个工作的webpack模板,已经正确配置vue-routervuex,您可以通过vue-cli初始化此模板,供您参考:https://github.com/CodinCat/vue-webpack-plus

孟楷
2023-03-14
匿名用户

我认为您的应用程序尚未正确初始化。您将按以下方式启动您的应用程序:

new Vue({
    router,
    store,
    ...App
}).$mount('#app')

您有扩展运算符。。。App,这不是必需的-它用于将数组项转换为函数参数,在本上下文中不正确。相反,您应该使用webpack模板中提供的渲染功能:

/* eslint-disable-line no-new */
new Vue({
    el: "#app",
    store,
    router,
    render: h => h(App)
})

此外,您还试图在路由和索引中导入加载器,如果您使用的是vue-cli,则不需要导入加载器。

也许您可以从webpack模板开始,一步一步慢慢添加功能:从路由定义和路由组件开始,确保一切正常,最后添加vuex。

 类似资料:
  • 我正在尝试在我的nginx服务器上设置vue路由器。我遇到的问题是,如果我直接在浏览器中输入url,我的路线就不起作用。 我尝试了vue路由器文档中描述的服务器配置,以及建议的堆栈溢出类似配置。我当前的nginx位置配置如下: 所做的就是将任何路径重定向到我的根组件(path:),而不是。这确实有意义,并且似乎只重定向到索引文件。我如何重定向直接链接的到路由在我的VueJS应用程序? 以下是我的v

  • 我在这个拉请求中看到: > 重新加载当前路径并再次调用数据钩子 但是当我尝试从Vue组件发出以下命令时: 我得到这个错误: 我搜索了文档,但没有找到任何相关的内容。vue/vue路由器是否提供类似的功能? 我感兴趣的软件版本有: 另外,我知道是备选方案之一,但我正在寻找本机Vue选项。

  • anu可以完美与react-router搭配使用。 但强烈建议使用reach router, 这个比react router更好用。 anujs也对它进行改造,让它支持IE8的hashchange reach的官网 https://reach.tech/router resolve: { alias: { react: "anujs", "react-dom":

  • 添加一个自定义的路由器 $prepend = false; Swoole::$php->addRouter(new App\MyRouter, $prepend); 第一个参数为路由器对象,必须实现Swoole\IFace\Router接口 第二个参数如果为true,表示添加到路由表的起始位置,默认为false,表示追加到末尾 底层默认添加了2个路由器Swoole\Router\Rewrite和

  • 路由闭包 绝不 在路由配置文件里书写『闭包路由』或者其他业务逻辑代码,因为一旦使用将无法使用 路由缓存 。 路由器要保持干净整洁,绝不 放置除路由配置以外的其他程序逻辑。 Restful 路由 必须 优先使用 Restful 路由,配合资源控制器使用,见 文档。 超出 Restful 路由的,应该 模仿上图的方式来定义路由。 resource 方法正确使用 一般资源路由定义: Route::res

  • Faygo路由器由 MuxAPI API信息与 httprouter 路由两层构成。这样既满足记录详细API信息的需求,又能够保持真实路由的高性能。 MuxAPI API信息层: 属于预注册路由,对外提供无限层级的路由注册功能,支持树状与链状两种注册形式 记录全部API信息,如请求方法、请求路径、请求参数、API名称、API注意事项、API响应说明、操作链(Handler与Middleware)等