代码结构中有一个现有的Livewire组件及其对应的刀片文件,我想要创建一个新的Laravel,而刀片file.The刀片文件包含在Livewire组件中定义的变量,所以当我从新的Laravel控制器返回新创建的刀片文件时,它显示了未定义的变量error.Is,有任何方法可以在新创建的刀片文件中传递在Livewire组件中定义的变量吗?还有其他方法吗?
这是刀片文件和变量。
@if($variable)
@endif这个变量被定义为livewire组件。
public $variable=false;新创建的控制器将返回上述刀片文件。
发布于 2022-05-09 16:31:27
我不能给你任何明确的答案,因为没有发布代码,我也不知道你的目的是什么
但是,如果确实需要将变量传递给新的刀片文件,则可以查看livewire浏览器事件https://laravel-livewire.com/docs/2.x/events。
您可以在子组件中分派浏览器事件,并在父组件中侦听它。
我曾经在我的一个项目中做过这件事
$this->dispatchBrowserEvent('nationality-updated',['nationality' => $this->nationality]);
$this->dispatchBrowserEvent('state-updated',['state' => $this->state]);我在这样的父组件中听了它
<script>
window.addEventListener('nationality-updated',event => {
@this.set('state.nationality', event.detail.nationality)
})
window.addEventListener('state-updated',event => {
@this.set('state.state', event.detail.state)
})
</script>请注意,state.nationality是我从Javascript访问的一个livewire变量,我不太确定这是否最优。
但是如果你必须的话,你可以按照上面的方法
https://stackoverflow.com/questions/72169349
复制相似问题