vue <router-link> 不想作为链接工作,它显示为简单的文本。我做错了啥?
Posted
技术标签:
【中文标题】vue <router-link> 不想作为链接工作,它显示为简单的文本。我做错了啥?【英文标题】:The vue <router-link> don't want to work as a link, it shows as a simple text. What I'm doing wrong?vue <router-link> 不想作为链接工作,它显示为简单的文本。我做错了什么? 【发布时间】:2021-12-31 13:13:44 【问题描述】:我在 laravel 项目中使用 vue js。我想让我的项目单页应用,所以需要vue路由。我安装了最新版本的vue-loader、vue-template-compiler、vue、vue-router,但问题依旧存在。
app.js
import bootstrap from 'bootstrap';
import createApp from "vue";
import createRouter, createWebHistory from 'vue-router'
import Login from './components/auth/Login.vue'
import Register from "./components/auth/Register";
window.$ = require( "jquery" );
const routes = [
path: '/',
name: 'Login',
component: Login
,
path: '/register',
name: 'Register',
component: Register
]
const router = createRouter(
history: createWebHistory(process.env.APP_URL),
routes
)
const app = createApp();
app.component('login', Login);
app.mount('#app');
export default router
vue.blade.php
<body>
<div id="app">
<router-link to="/register">Harrison</router-link>
<router-view> </router-view>
</div>
<script src="mix('js/app.js')"></script>
<script src=" asset('js/bootstrap.js') "></script>
</body>
</html>
我厌倦了在谷歌中搜索答案,没有任何帮助。你能帮我理解我做错了什么吗?
【问题讨论】:
我想你在刀片文件中添加了router-link
标签。它不适用于刀片文件。你必须为此创建 vue 文件。
【参考方案1】:
看起来app.js
没有注册 Vue Router 插件。要注册插件,请使用app.use()
:
// main.js
const router = createRouter(/*...*/)
const app = createApp(App)
app.use(router) ?
app.mount('#app')
也不需要从app.js
导出路由器。
【讨论】:
【参考方案2】:您需要创建一个 Vue 应用程序组件。假设这是一个名为 app.vue
的文件的内容:
<template>
<router-link to="/register">Harrison</router-link>
<router-view> </router-view>
</template>
<script>
export default
name: "App"
</script>
然后让你的 html 文件看起来像这样:
<body>
<div id="app"></div>
<script src="mix('js/app.js')"></script>
<script src=" asset('js/bootstrap.js') "></script>
</body>
</html>
最后,更改app.js
file 中的一些行:
...
import App from "app.vue"
...
const app = createApp(App);
app.use(router);
...
然后它应该可以工作了。
(顺便说一句:你是在Vue2
还是Vue3
?)
【讨论】:
以上是关于vue <router-link> 不想作为链接工作,它显示为简单的文本。我做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章