forms - angular dart 形式的 ng-valid 和 ng-invalid 类不再暴露

标签 forms angular css dart angular-dart

Dart :1.24.2; Angular :4.0.0; 我根据 .ng-valid 创建了一些 CSS 规则和 .ng-invalid Angular 形式的类。但是,在最新版本中,似乎 ng-validng-invalid类不再暴露,所以我的 CSS 规则不再起作用。 这是对的吗? 如果是,我如何绕过此更改?

Edit1:测试用例 我只是在我的 IDE (WebStorm) 中生成了一个带有 Angular 和 Angular Material 的全新元素。它生成一个简单的待办事项应用程序。我拿了 todo_list_component.html 并用 <form> 包裹了整个内容</form>标签。在 todo_list_component.dart 中,我为 angular_forms 添加了一个导入,并将 formDirectives 添加到指令列表中。 检查 dartium 中的表格 no ng-valid类已添加。在我的例子中,唯一添加的类是:class="_ngcontent-umj-2"

Edit2:快捷方式 不是很优雅,但可以工作:

<form #form="ngForm" [class.ng-valid]="form.valid" [class.ng-invalid]="!form.valid">

最佳答案

是的,此行为在最近发布的 angular_forms 中发生了变化。

以前,NgControlStatus 指令包含在 formDirectives 列表中。然而,这导致每个使用表单的组件都为这些主机绑定(bind)付出代价。

现在,如果您想要这种行为,您需要在 @Componentdirectives 列表中明确包含 NgControlStatus

https://github.com/dart-lang/angular/blob/master/angular_forms/lib/src/directives/ng_control_status.dart#L15

关于forms - angular dart 形式的 ng-valid 和 ng-invalid 类不再暴露,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47282167/

相关文章:

php - 页面刷新后移动到网页的一部分

angular - 从指令创建组件实例时如何等待 ngAfterViewInit() 运行?

css - 如何水平对齐裁剪元素?

使用 BEM 和 Sass 悬停时的 CSS 过渡

javascript - 不在 Safari 或 Chrome 中显示 : none/block for elements works in Firefox,

javascript - 基本的javascript华氏/摄氏计算器

jquery - 如何以一种易于访问的方式隐藏 jQuery Mobile 表单中的标签标记?

html - 如何在电子邮件中发送 HTML 表单 .. 而不仅仅是 MAILTO

javascript - 将 Angular2 应用程序的必要依赖项上传到 Web 主机

angular - 错误 : @angular/material/material has no exported member 'MdButtonModule'