首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问刀片文件中Livewire组件中定义的变量

如何访问刀片文件中Livewire组件中定义的变量
EN

Stack Overflow用户
提问于 2022-05-09 08:57:44
回答 1查看 809关注 0票数 0

代码结构中有一个现有的Livewire组件及其对应的刀片文件,我想要创建一个新的Laravel,而刀片file.The刀片文件包含在Livewire组件中定义的变量,所以当我从新的Laravel控制器返回新创建的刀片文件时,它显示了未定义的变量error.Is,有任何方法可以在新创建的刀片文件中传递在Livewire组件中定义的变量吗?还有其他方法吗?

这是刀片文件和变量。

代码语言:javascript
复制
@if($variable)

@endif

这个变量被定义为livewire组件。

代码语言:javascript
复制
public $variable=false;

新创建的控制器将返回上述刀片文件。

EN

回答 1

Stack Overflow用户

发布于 2022-05-09 16:31:27

我不能给你任何明确的答案,因为没有发布代码,我也不知道你的目的是什么

但是,如果确实需要将变量传递给新的刀片文件,则可以查看livewire浏览器事件https://laravel-livewire.com/docs/2.x/events

您可以在子组件中分派浏览器事件,并在父组件中侦听它。

我曾经在我的一个项目中做过这件事

代码语言:javascript
复制
 ​$​this​->​dispatchBrowserEvent​(​'nationality-updated'​,[​'nationality'​ => ​$​this​->​nationality​]); 
 ​​$​this​->​dispatchBrowserEvent​(​'state-updated'​,[​'state'​ => ​$​this​->​state​]);

我在这样的父组件中听了它

代码语言:javascript
复制
<​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变量,我不太确定这是否最优。

但是如果你必须的话,你可以按照上面的方法

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

https://stackoverflow.com/questions/72169349

复制
相关文章

相似问题

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