2017-10-05 43 views
3

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> 

回答

3

更新:

在您的模板中,您正在使用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}, 
    // ... 
    ], 
}) 

看到這個CHANGELOGPrefix Updater。鏈接到工作StackBlitz demo

+0

我已經使用前綴更新,並將此提供給app.module – Alessandro

+0

您還需要導入'MatAutocompleteModule',而不是'MdAutocompleteModule' – Faisal

+0

前綴更新已經改變了這種 – Alessandro