将PHP变量传递给alpine变量或函数中的变量时遇到问题。下面是一个简单的例子。
@php
$test = "Hello World's testing";
@endphp
<div x-data="{
message: @json($test)
}">
<span x-text="message"></span>
</div>
x数据来自于事实的问题是使用双引号来包装编码的数据。我知道我可以"外化"x-data,但我确实需要它是内联的。
例如,我有一个基本的解决方案(使用反引号),但我想知道是否有更好的方法来做到这一点。编辑这个例子使用了一个字符串…但PHP变量可以是布尔值,甚至是数组。这就是为什么我使用@json
。
我将使用模板字符串。易于阅读,不需要转义多个引号
<div>
@php
$test = "Hello World's testing";
@endphp
<div x-data="{
message: `{{ $test }}`
}">
<span x-text="message"></span>
</div>
</div>
这样不行吗?:
@php
$test = "Hello World's testing";
@endphp
<div x-data="{
message: {{ json_encode($test) }}
}">
<span x-text="message"></span>
</div>