Alpine嵌套x数据



我正在尝试学习Alpine,并且正在测试嵌套的x数据。我在GitHub上遇到了一个嵌套x数据的问题。他们提供了一个我想自己尝试的解决方案。然而,当我尝试复制代码时,它没有打印任何内容。控制台中也没有错误。有人能告诉我我做错了什么吗?

<div x-data="{foo: 'bar'}">
<div x-data="{ }">
<span x-text="foo"></span>
</div>
</div>

我也尝试使用$el属性,但它产生了相同的结果。

正如@LaundroMat所提到的,助手函数就是为了这些目的而构建的。

<div x-data="{foo: 'bar'}">
<div x-data="{localFoo: 'local bar'}">
<span x-text="$parent.foo"></span>
<p x-text="localFoo"></p>
</div>
</div>

参考代码笔

alpinejs的版本3中,此问题已得到解决。什么都不需要做。

Alpine.js中的嵌套不像Vue/React中那样有效。嵌套组件时,它不能访问父级的数据,只能访问自己的数据。

您需要像一样将foo属性添加到嵌套的x-data

<div x-data="{ }">
<div x-data="{ foo: 'bar' }">
<span x-text="foo"></span>
</div>
</div>

您可以使用Alpine Magic Helpers集合中的$component/$parent helper。

最新更新