angular - Angular 材质:反应性与模板?
问题描述
我是 UI 开发的新手,并且正在完全通过示例创建一个新的 Angular 7 Material 应用程序。
我正在处理一个接受 URL 作为输入的表单,然后使用来自 URL 的数据(在只读输入字段中)刷新自身。从我收集到的信息来看,模板驱动的方法最适合这个用例,对吗?我正在使用 Material 组件,但我找不到任何模板驱动的 Material 示例,而且我对何时使用什么标签感到非常困惑。
有人可以提供一些指导/建议,并指出我可以遵循的教程吗?
注意:我不认为下面引用的帖子解决了我的问题,因为它不包含示例。
解决方案
如果您还没有检查过,请尝试一下https://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/
我通常使用模板派生的表单并且对它们没有任何问题,但是有时当您需要更复杂的验证时,使用这种方法可能会有点麻烦。但我喜欢模板派生表单的地方在于,您只需创建对象(模型)并将其提供给[(ngModel)],您就拥有了两种漂亮的数据绑定方式。您需要做的只是获取数据并将其反序列化到您的模型中,然后您就可以在表单中获得数据。如果您只需要读取功能,您可以简单地使用标签而不是输入并禁用它们。我希望下面的例子能帮助你了解它的外观。
<form #userForm="ngForm">
<div>
<mat-form-field>
<mat-label *ngIf="someconditionToShow">Name:</mat-label>
<mat-error>Name is required</mat-error>
<input matInput type="text" placeholder="Please enter your name" name="nameInput"
[(ngModel)]="model.Name" [disabled]="conditionToDisable" required>
</mat-form-field>
</div>
<button type="button" disabled="userForm.invalid"></button>
</form>
推荐阅读
- apache-kafka - Kafka Idempotent producer
- php - 试图从数据库中获取数据并显示到 Dropbox
- dask - 恢复预计算索引
- python - How to make a new dataframe to store the average values of the original dataframe's columns' bins?
- nlp - Spacy动词亮点?
- java - 如何将现有 WebEment 添加到另一个 WebEment Selenium Java
- clickhouse - 在 Clickhouse 集群中获取重复项
- qt - QDebug 在 Qt 4.7 中传递自定义调试消息类型
- java - 使用 derby 和 redis 制作 solr 类型的搜索引擎
- mongodb - 在mongodb中如何获得最高的薪水