我正在尝试在Laravel刀片文件中包含路由器视图和组件。 router-view
可以完美运行,并且可以根据页面URL更改组件。但是,我想在<nav></nav>
上方添加一个router-view
组件,以便可以在每个页面的导航中加载。
我的问题是,怎么了?它不起作用,当前<router-view>
会加载正确的组件,但是<nav>
不会加载任何内容。
App.js:
import Vue from 'vue';
import VueRouter from 'vue-router';
import Vuex from 'vuex';
import Vuetify from 'vuetify';
import {routes} from './routes';
import Nav from './components/Nav.vue';
import store from './store.js';
import axios from 'axios';
Vue.use(VueRouter);
Vue.use(Vuex);
Vue.use(Vuetify);
Vue.config.productionTip = false;
const router = new VueRouter({
routes,
});
const app = new Vue({
el: '#app',
store,
router,
components: {
Nav
}
});
Master.blade.php:
<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="_token" content="{!! csrf_token() !!}"/>
<title>Laravel</title>
<link href="{{ asset('css/app.css') }}" rel="stylesheet"/>
</head>
<body>
<div id="app">
<nav></nav>
<router-view></router-view>
</div>
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>
导航:
<template>
<div>
<p>hey</p>
</div>
</template>
<script>
export default {
name: "nav"
}
</script>
<style scoped>
</style>
答案 0 :(得分:2)
只需为组件使用其他名称即可,除了nav
以外,因为它是有效的HTML保留标记。