首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 8 Jetstream \未定义变量: C:\xampp\htdocs\veye-website\resources\views\vendor\jetstream\components\modal.blade.php (视图:_instance )

Laravel 8 Jetstream \未定义变量: C:\xampp\htdocs\veye-website\resources\views\vendor\jetstream\components\modal.blade.php (视图:_instance )
EN

Stack Overflow用户
提问于 2020-10-20 05:19:44
回答 2查看 4.9K关注 0票数 5

我正在尝试使用Laravel 8 Livewire Modal弹出的数据进入另一个页面。但是,我取消了变量_instance的定义,无法理解它。

@model($attributes->wire(‘model’))

当我从views/vendor/jetstream/components/modal.blade.php.中删除它时,这一行将创建此错误。错误就会消失。

34号线。

代码语言:javascript
复制
<div id="<?php echo e($id); ?>" x-data="{ show: <?php if ((object) ($attributes->wire('model')) instanceof \Livewire\WireDirective) : ?>window.Livewire.find('<?php echo e($_instance->id); ?>').entangle('<?php echo e($attributes->wire('model')->value(

    x-show="show"

    x-on:close.stop="show = false"

    x-on:keydown.escape.window="show = false"

    class="fixed top-0 inset-x-0 px-4 pt-6 sm:px-0 sm:flex sm:items-top sm:justify-center"

    style="display: none;">
EN

回答 2

Stack Overflow用户

发布于 2020-11-29 13:26:13

这也让我非常担心,但我想我找到了解决方案:正如@georgy所说,您只能在 Livewire 组件(而不是在Blade组件或任何其他自定义组件中)中调用Livewire方法。

考虑到您要在resources/views/dashboard.blade.php中使用组件,解决方案是:

artisan make:livewire MyDashboard

  • Cut

  • 使用dashboard.blade.php中的<x-app-layout></x-app-layout>创建一个livewire组件,并将其粘贴到x-app-layout标记和鲍勃的叔叔(应该开始工作)

中的views/livewire/my-dashboard.blade.php

  • Add @livewire('my-dashboard')

为了帮助您理解正在发生的事情,如果您查看模态组件的源代码,您将看到类似于:show: @entangle($attributes->wire('model')),的一行。我不知道如何准确地描述它的作用,但本质上,@entangle()期待的是一个“模型”Livewire对象的实例,而且它没有找到一个实例。

它没有找到它,因为它是从一个非带电组件调用的。一旦你把它放在一个Livewire组件中,它就开始工作了。

我希望更多的细节能让事情更清楚。

票数 8
EN

Stack Overflow用户

发布于 2020-11-03 21:42:03

我也得到了同样的错误,但在我的例子中,这是因为我在LiveWire组件之外使用了LiveWire。一旦我把它移到组件模板中,它应该在哪里,问题就消失了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64438902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档