我使用php artisan make:component Test
创建了一个新组件。现在,在创建该组件时,如果我尝试传递一个单词变量,一切都正常(<x-test :testID="'test'"
)。但是当我尝试将它作为多个单词传递时,使用下划线(<x-test :test_id="'test'"
)分隔单词,我面临下一个错误:
Unresolvable dependency resolving [Parameter #0 [ <required> $test_id ]] in class App\View\Components\Test
这个类看起来像这样:
class Test extends Component
{
public $test_id;
public function __construct($test_id)
{
$this->test_id = $test_id;
}
public function render()
{
return view('components.test');
}
}
这是正常的行为吗?在组件内部创建变量时,是否允许使用下划线?
2条答案
按热度按时间zxlwwiss1#
Livewire组件不支持经典的
__construct
构造函数。最好使用mount()
方法。此外,您应该像这样处理公共属性
并在视图中引用(参见数据绑定)它,
我通常会选择
camelCase
命名,f。例如testId
。这在Livewire中是完全支持的(参见docs)。一些关于变量命名的一般提示
你用 * 一个词 * 和 * 多个词 * 变量描述的东西被命名为
myVariableName
、Wikipediamy_variable_name
、Wikipedia更新注解组件
在你看来,你可以使用这样的东西。
你不需要将它注入到
mount
方法中。只是使用公共财产。bejyjqdl2#
我也面临同样的问题。我不能将
:dd_array="$dd_color"
传递给匿名刀片组件,但像:ddArray="$dd_color"
一样传递它可以正常工作。