我的Angular 2应用程序中有一个工作搜索功能,允许用户点击几个单选按钮之一,以便根据特定类别过滤结果。当我在视图中调用的内容与数据库的一对一关系之间的关系时,这正如预期的那样工作。这就是我对单选按钮过滤器的所作所为("值&#34中列出的内容;与数据库对应):
<form #f="ngForm" class="filters">
<div class="radio">
<input type="radio" name="category" [(ngModel)]="category" (click)="refresh()"> All
</div>
<div class="radio">
<input type="radio" value="administration" name="category" [(ngModel)]="category"> Staff
</div>
<div class="radio">
<input type="radio" value="contractor" name="category" [(ngModel)]="category"> Contractors
</div>
<div class="radio">
<input type="radio" value="client" name="category" [(ngModel)]="category"> Clients
</div>
<div class="radio">
<input type="radio" value="doctor" name="category" [(ngModel)]="category"> Doctors
</div>
</form>
现在,在那些单选按钮选项中,一个对我来说更加棘手,因为它实际上是一组值的子集。因此,不是一个值等于数据库中的一个值,我需要做的是在单击一个单选按钮时,根据该数组中的每个值,使用搜索功能过滤器。为了澄清,在我们的mongoDB设置中,这一部分的数据如下所示:
department: { type: String, lowercase: true, trim: true, enum: { values: ["administration", "distribution", "human resources", "information technology", "marketing"], message: "Value of staff must be of one type." } },
现在,我可以在我的视图代码中包含这些值中的任何一个,并且它将成功过滤该类别。因此,举例来说,您将在上面看到&#34;管理&#34;是这个数组中的值之一,所以如果我在我的视图中有这个值,它可以工作:
<div class="radio">
<input type="radio" value="administration" name="category" [(ngModel)]="category"> Staff
</div>
但是我如何设置它以便从所有子类别中提取结果? (即来自[&#34;行政&#34;,&#34;发布&#34;,&#34;人力资源&#34;,&#34;信息技术&#34;,&#34;营销&#34; ]
我尝试在我的组件中使用join方法,然后在视图中使用方括号绑定,但这并不起作用。那么我该怎么做才能处理这一个值,而不是单个值呢?