Blazor是否支持类似AngularJS的属性指令?

3
在AngularJS中,您可以创建属性指令,并在不同的视图中重用它们。
作为一个简单的例子:
<span makeRed>
    This is some text
</span>

makeRed是一个属性指令,可以将任何元素的文本变成红色。

Blazor能否做类似的事情作为可重用的代码,并以某种方式插入html元素?如何实现?

更新: 也许在Blazor中它不被称为指令,所以不要过于纠结于这个词。我在Blazor中寻找的是属性指令在AngularJS中所做的目标。无论Blazor用什么方式实现。


你找到关于这个问题的答案了吗?我也在寻找类似的东西,但是我还没有找到。 - lioleveau
也许这个链接可以帮助你,看起来你可以通过新的DynamicComponent实现所需的结果。 - DanielD
1个回答

0

我想你想要的是这样的:

<span style="@makeRed" >I have no style</span>

<RecipeSelector @bind-IsOpen="@dialogIsOpen"  @bind-Value="@recipe"></RecipeSelector>

@code
{
    private string makeRed = "background: red; color: yellow;";
}

makeRed 可以是一个固定的字符串,也可以是运行一些逻辑来决定它是否为红色的函数,例如 MakeRedIfNotLoggedIn() 等等。你也可以使用 CSS 类来做同样的事情,将特殊类应用于控件。

你可以有一个“全局”类,其中包含所有定义。

希望这对你有所帮助。


AngularJS指令非常强大。我的颜色示例似乎不是一个好的示例,因为人们正在发布有关如何在Blazor中动态使文本变红的答案(已删除)。这不是我的问题所在。 Angular中的属性指令可以做更多的事情。自定义验证。它们可以访问同一作用域中的其他元素等等。 - Tony_Henrich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接