在angular应用程序中,使用属性指令在输入元素上创建条件样式的正确方法是什么?

在angular应用程序中,使用属性指令在输入元素上创建条件样式的正确方法是什么?,angular,Angular,我正在构建一个angular应用程序,我想使用属性指令根据用户输入设置输入样式。如果输入无效,我希望此指令对输入应用红色边框。我已经检查了如何做这件事的文件。我还检查了ElementRef上的文档。让我感到困惑的是,属性指令docs说要使用ElementRef,然后在ElementRef文档中,它说要非常小心地使用这种技术,并且只能作为最后的手段。angular会提供一个工具,比如一个特别针对这种情况设计的指令,但却不告诉您使用它并在文档中的其他地方发现它不是一个好主意,这似乎很奇怪。这就引出了

我正在构建一个angular应用程序,我想使用属性指令根据用户输入设置输入样式。如果输入无效,我希望此指令对输入应用红色边框。我已经检查了如何做这件事的文件。我还检查了ElementRef上的文档。让我感到困惑的是,属性指令docs说要使用ElementRef,然后在ElementRef文档中,它说要非常小心地使用这种技术,并且只能作为最后的手段。angular会提供一个工具,比如一个特别针对这种情况设计的指令,但却不告诉您使用它并在文档中的其他地方发现它不是一个好主意,这似乎很奇怪。这就引出了我的问题。使用属性指令在输入元素上创建条件样式的正确方法是什么?

[ngClass]或[ngStyle]是的,我知道这也是一个选项。。。我对指令逻辑方法很好奇,因为这个指令到处都在使用,所以最好将该指令的逻辑封装在指令文件中……对不起,我不明白你的问题。你不明白哪一部分?我想说我回答了你要找的另一件事。关于为什么使用ElementRef是“最后的手段”。我认为主要原因是与其他系统“兼容”(但不要问我这些系统,因为我没有发现与Cordova或任何现代navigator不兼容)。另一个问题可能是安全漏洞。如果您可以访问ElementRef,那么您可以访问文档,然后您可以在文档中注入stricpt…,但我也不知道像nativeElement.style.backgroundColor=colorElementRef这样的代码如何使您的应用程序面临风险