【发布时间】:2020-08-02 00:43:53
【问题描述】:
我有一个 laravel 应用程序,它为客户和管理员提供了单独的资源。在应用程序内部,在管理方面,我有用于控制前(客户)页面上某些组件的可见性的复选框。现在,除了可见性之外,我还有一些额外的参数要显示。因此,为了立即验证更改,我想在admin.blade.php 中预览(不包括)front.blade.php?
我现在唯一的想法是使用<iframe>,但我希望找到一种叫做“laravel 方式”的东西。
我的项目结构:
resources
|-- admin
| |-- views
| |-- layouts
| |-- website
| `-- front.blade.php
|
|-- front
| |-- views
| |-- layouts
| |-- website
| `-- admin.blade.php
admin.blade.php
@section('section','Website')
@section('title','Home')
@extends('layouts.main')
@section('style')
<link href="{{ admin_asset('assets/admin/css/main.css') }}" rel="stylesheet" type="text/css" />
@endsection
@section('content')
<div class="contentbar">
<div class="row">
<div class="col-6">
<div class="card">
<div class="card-header">Header</div>
<div class="card-body">
@include('website.front') <--- include doesn't work. It just brakes the whole view
</div>
<div class="card-footer">Footer</div>
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script src="{{ admin_asset('assets/admin/js/main.min.js') }}"></script>
@endsection
config/view.php
'paths' => [
resource_path('front/views'),
resource_path('admin/views'),
],
【问题讨论】:
-
不是真正的“laravel 方式”,但如果你已经使用例如构建了某种 MVVM 结构。 React 或 Vue 你可以只轮询服务器或使用broadcasting 来确定模型何时更改并加载更改的模型
-
@apokryfos 即使这样做了,我仍然需要在
admin.blade.php内显示整个视图front.blade.php作为组件,不是吗? -
不是必需品。如果您的数据结构正确,那么您可以使用 JavaScript 更新浏览器中显示的内容,这是视图库可以帮助您实现的目标
-
哦,对不起!我忘了删除“不是吗?”部分。我真的需要在
admin中显示front:) -
您当前的代码将在管理中显示在前面,但是我的意思是每当您需要更新前面时,请使用 JavaScript 而不是整页或 iframe 重新加载
标签: laravel laravel-blade