【发布时间】:2020-07-17 13:23:17
【问题描述】:
我在一个角组件中有一个搜索文本框,用于搜索名称列表。 我想把它移到一个可重用的组件中,以避免在多个页面上重复相同的代码。 这样做的最佳做法是什么?我应该只生成一个新组件并将逻辑移到那里吗?我知道有一种方法可以与@input 装饰执行组件交互,但是我很难理解在这种情况下它是如何工作的。这是以下 HTML 和打字稿代码:
<input [ngModel]="searchStr" (ngModelChange)="employeeSearch($event)" class="form-control mb-3 pl-4" type="text"
id="employeeName" placeholder="Employee Name" name="employeeName">
employeeSearch(searchStr: string) {
this.searchStr = searchStr;
// some logic
}
【问题讨论】:
-
使用通用组件并通过输入和输出保持通信,如果您想在项目之外使用 webcomponents 构建它。
-
您想创建可以在项目中任何地方使用的自定义表单控件。 Angular
ControlValueAccessor肯定会在这方面为您提供帮助。请参阅链接以获取一些示例-indepth.dev/…
标签: angular typescript