2017-09-25 11 views
3

角材の新しい更新とそのbreaking changesで、私はもはや私の<md-menu>コンポーネントを使用できません。それは私がMaterialModuleをインポートするとき働いていたが、MatMenuModuleまたはMdMenuModuleをインポートするときに、今、次のエラーが生成されます。テンプレート解析エラー: "exportAs"が "matMenu"に設定されている指示文がありません

compiler.es5.js:1690 Uncaught Error: Template parse errors: 
There is no directive with "exportAs" set to "matMenu" (" 
</mat-toolbar> 
    <mat-menu xPosition="after" [ERROR ->]#wordListMenu="matMenu" 
): 
ng:///NavbarModule/[email protected]:28 

私はdocumentationのガイドおよびAPIに従いますが、構文が変更されているように見えますか?私は#wordListMenu="matMenu"#wordListMenu="mdMenu"の両方を試しましたが、エラーは持続します。

私のhtmlファイル(関連部分)は次のとおりです。

<button mat-button [md-menu-trigger-for]="wordListMenu" [ngClass]="{'active' 
    : isActive(['/wordlist'])}"> 
    Word Lists 
</button> 
<mat-menu xPosition="after" #wordListMenu="matMenu" 
    [overlapTrigger]="false"> 
    //Content of menu 
</mat-menu> 

私のモジュールは、次のとおりです。

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 
import {NavbarComponent} from 'app/navbar/navbar.component'; 
import { MdTooltipModule, MatMenuModule } from '@angular/material'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    MdTooltipModule, 
    MatMenuModule 
    ], 
    declarations: [NavbarComponent], 
    exports: [NavbarComponent] 
}) 
export class NavbarModule { } 

は、私が行方不明です何かはありますか?コンパイラがmatMenuを認識しないのはなぜですか?

答えて

5

問題はあなたの角バージョンです。あなたの角バージョンを4.4.3以上にアップデートしてください。材料2.0.0-beta.114.4.3以上に依存します。 CHANGELOGドキュメントから:

Breaking changes Angular Material now requires Angular 4.4.3 or greater

リンクworking demoへ。

+0

私はこれを試しましたが、結果は同じです、さらに両方の方法でドキュメントに従って動作する必要があります。 –

+0

私の回答の更新を参照してください。あなたは角度バージョンを> = '4.4.3'にアップグレードする必要があります – Faisal

+0

私はあなたの答えごとに' mat-> md'と 'Mat-> Md'をすべて変更しようとしました。しかし、私は同じエラーが発生します。たぶんはっきりしないかもしれませんが、ウェブパックはコンパイルされますが、エラーはChromeのコンソールに表示されます。 –

関連する問題