角4错误:模板解析错误:没有指令与“EXPORTAS”设置为“matAutocomplete”
问题描述:
Ugrading材料2.0.0测试版11现在我有这样的错误, 我怎样才能解决这个问题角4错误:模板解析错误:没有指令与“EXPORTAS”设置为“matAutocomplete”
<mat-form-field> <input matInput
placeholder="{{'hotel.detail.labels.city' | translate }}"
[matAutocomplete]="tdAuto" name="city" #city="ngModel"
[(ngModel)]="selected.city"
(ngModelChange)="searchCity($event)"> </mat-form-field>
<mat-autocomplete #tdAuto="mdAutocomplete">
<mat-option (onSelectionChange)="setCity(city)"
*ngFor="let city of cities" [value]="city.name">
<div class="row"><span>{{city.name}} ({{city.province}})</span> <span><small>{{city.region}}</small></span>
</div>
</mat-option> </mat-autocomplete>
答
更新:
在您的模板中,您正在使用mdAutocomplete
。将其更改为matAutocomplete
。
这条线:
<mat-autocomplete #tdAuto="mdAutocomplete">
到:
<mat-autocomplete #tdAuto="matAutocomplete">
在app.module
或你的模块在您使用的材料模块,检查它们是否与Mat
,而不是Md
前缀。另外,模块providers
中的MATERIAL_COMPATIBILITY_MODE
提供者条目。
导入模块中的以下内容:
import {MATERIAL_COMPATIBILITY_MODE} from '@angular/material';
,然后将其添加为提供者:
@NgModule({
providers: [
{provide: MATERIAL_COMPATIBILITY_MODE, useValue: true},
// ...
],
})
看到这个CHANGELOG这Prefix Updater。链接到工作StackBlitz demo。
我已经使用前缀更新,并将此提供给app.module – Alessandro
您还需要导入'MatAutocompleteModule',而不是'MdAutocompleteModule' – Faisal
前缀更新已经改变了这种 – Alessandro