【发布时间】:2019-12-16 23:49:35
【问题描述】:
我发现 vue 中的 $attrs 对组件设计很有帮助。如果我有一个包装了“a”标签的组件,我可以使用 $attrs 传入所有这些原生道具,而无需将它们一一声明为参数。例如,我有一个这样的组件:
<div>
<a href="@Href" onclick="@OnClick" class="@Classes" style="@Styles">@Content</a>
</div>
我必须声明“Href、OnClick、Classes、Styles”等参数。但是我们知道标签“a”还有大量的其他属性,比如“target, hreflang...”,更不用说“input”标签了。我认为将所有这些都称为令人难以置信的长参数列表是愚蠢的。
那么 Blazor 是否为我们开发者提供了类似的功能?
【问题讨论】:
-
onclick 不是属性。它是一个指令,前面应该有 @ 标记。我认为,从一开始就可以传递一组参数。但是现在您可以使用@attributes 指令将参数集合传递给元素或组件。
-
好的,非常感谢。我应该关注他们的新功能。
标签: c# asp.net-core blazor