You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中Vue组件在Blade @section内无法显示的问题求助

解决Laravel Blade @section中Vue组件不显示的问题

问题原因

Vue实例需要挂载到页面上一个带id="app"的根容器中。你之前把#app放在视图的@section里,而布局文件没有全局的#app容器,导致Vue无法正确识别并挂载组件;而test1的#app不在@section中,能被Vue正常找到,所以组件显示正常。

解决步骤

  1. 修改布局文件
    找到你的布局文件(通常路径为resources/views/layout.blade.php),将@yield('content')包裹在id="app"的div内,确保所有视图内容都处于Vue的挂载范围内:
<!DOCTYPE html>
<html>
<head>
    <!-- 页面头部资源:meta标签、CSS等 -->
</head>
<body>
    <div id="app">
        @yield('content')
    </div>

    <!-- 底部引入Vue相关JS文件 -->
    <script src="{{ mix('js/app.js') }}"></script>
</body>
</html>
  1. 修改视图文件
    移除视图中局部的#app div,直接在@section里放置组件即可:
@extends('layout')

@section('content')
    <h1>Hello test2</h1>
    <example-component></example-component>
@endsection

原理说明

把#app放在布局文件中,相当于给所有使用该布局的视图提供了统一的Vue根容器。Vue实例初始化时会挂载到这个全局容器上,所有视图里的Vue组件都会被正确识别和渲染,不需要在每个视图里重复添加#app容器。

内容的提问来源于stack exchange,提问作者user1738671

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:45:22