提问者:小点点

我可以触发函数与参数从一个键值对数组在PHP(Laravel)


我在Laravel和PHP方面没有太多的经验,所以这个问题可能让你觉得幼稚。但我很抱歉,我真的被困在这里了。

我能够触发函数'showThis()'

通过

protected $listeners = array('customer-list' => 'showThis', 'payments-dash' => 'showThat');

但是我需要用如下参数触发函数'showThis($x)'

protected $listeners = array('customer-list' => 'showThis(cl)', 'payments-dash' => 'showThis(pd)');

但我遇到了一个错误:无法调用组件方法。在组件:[主体]上找不到公共方法[showThis(cl)]

请帮我做这个。实际上,我正在尝试实现一个带有侧边栏的仪表板。侧边栏提供了通过livewire发送emitTo()并触发函数以呈现相关部分的选项。


共1个答案

匿名用户

就像这样坚持你的第一个方法

protected $listeners = array('customer-list' => 'showThis', 'payments-dash' => 'showThat');

但是对于函数显示,添加一个参数,

public function showThis($someArgPassedHere) {/* code that can use passed parameter */}

当然,只需像通常一样在emit中传递参数

$emit('customer-list', 12)

或者如果您有更多参数,您可以传递名称=

$emit('customer-list', ['id' => 12, 'name' => 'someone'])