php - Laravel 8 Jetstream || undefined variable : _instance (View: C:\xampp\htdocs\veye-website\resources\views\vendor\jetstream\components\modal.blade.php

标签 php laravel laravel-8 laravel-livewire jetstream

我正在尝试使用 Laravel 8 Livewire Modal Popup 进行数据输入并进入另一个页面。但是我没有定义变量 _instance 并且无法理解它。

@entangle($attributes->wire('model'))


当我从 views/vendor/jetstream/components/modal.blade.php 中删除它时,这一行会产生此错误。错误会消失。
34号线。
<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;">

最佳答案

这也让我很焦虑,但我想我找到了解决方案:正如@georgy-malanichev 所说,您只能从 Livewire 组件内部(而不是从 Blade 组件或任何其他自定义组件内部)调用 Livewire 方法。
鉴于您尝试使用 resources/views/dashboard.blade.php 内的组件,解决方案是:

  • 使用 artisan make:livewire MyDashboard
  • 创建一个 livewire 组件
  • 剪切 <x-app-layout></x-app-layout>dashboard.blade.php 之间的所有内容并将其粘贴到 views/livewire/my-dashboard.blade.php
  • @livewire('my-dashboard') 标签内添加 x-app-layout 和 Bob 是你的叔叔(它应该开始工作)

  • 为了帮助您了解发生了什么,如果您查看模态组件的源代码,您将看到如下一行: show: @entangle($attributes->wire('model')), 。我不确定如何准确描述它的作用,但本质上,@entangle() 期待“模型”Livewire 对象的实例,但它没有找到。
    它没有找到它,因为它是从非 livewire 组件调用的。一旦你把它放在一个 Livewire 组件中,它就会开始工作。
    我希望额外的细节能让事情更清楚。

    关于php - Laravel 8 Jetstream || undefined variable : _instance (View: C:\xampp\htdocs\veye-website\resources\views\vendor\jetstream\components\modal.blade.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64438902/

    相关文章:

    laravel - 如何使用 Laravel 8 + Fortify 在用户验证其电子邮件后自定义操作

    laravel - 插入数据库中不存在的随机整数不起作用?

    php - 如果值为空,则不查询 SQL 字符串

    php - 什么规则可以防止类大括号后出现空行?

    php - 如何验证 MySQL 副本?

    php - 找不到四位数的年份数据丢失

    php - 写入 csv 文件。 ' ; ' 下一列不起作用

    php代码没有在adobe括号中缩进

    php - 意外删除了 laravel 项目中的供应商文件夹

    laravel - 你如何使用 laravel 8sai 启用 ssl