有一個頁面A,引入了自定義B元件,B元件裡有引入了C元件
頁面渲染就成了這樣,loginBox就是C元件裡面本身是有內容的,但現在成了一個自定義標籤名。
A頁面引入B(NavBar)
<template>
<div class="desktop-material-wrapper">
<nav-bar/>
<div class="app-main">
<router-view v-wechat-title="$route.meta.title"></router-view>
</div>
<nav-footer/>
</div>
</template>
複製程式碼
B頁面引入C(loginBox)
<template>
<nav class="container fixed-container clearfix">
<div class="max-width-container nav-container">
<div class="flex-container logo-container"></div>
<div class="operation-container"></div>
</div>
<loginBox v-if="ifShowLoginBox" @closeLoginBox="closeLoginBox"></loginBox>
</nav>
</template>複製程式碼
元件引用就類似這樣,先import,再在components裡註冊
import { Navbar, Footer } from './components'
export default { components: { 'nav-bar': Navbar, 'nav-footer': Footer }}複製程式碼
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
解決方案
直接在components裡這樣註冊即可
'loginBox': () => import('@/views/layout/components/Login')複製程式碼
最終想要的東西也渲染出來了
但有沒有大佬給解釋一下為什麼呀·············