2016-11-02 1 views
0

ich eine einfache UIangular2 Mit Router3 Router mit einem material2 Taste oder-Symbol

<button 
    md-icon-button 
    md-tooltip = 'Home' 
    [routerLink] = "['new-patient']"> 
    <i class = 'mdi mdi-home mdi-36px cyanish'></i> 
</button> 

Die Router oben Bindung ausfällt, immer mit dem folgenden haben:

Can't bind to 'routerLink' since it isn't a known property of 'a'. (" 

    <a md-icon-button 
     [ERROR ->][routerLink] = "['new-patient']" 
     color = "accent"> 
     <md-icon class = "material-icons md-2"): [email protected]:7 

Ich verstehe den Fehler , aber gibt es eine Möglichkeit für mich, einen routerLink zu einem material2 Button oder Icon hinzuzufügen?

Es ist ziemlich schwierig zu akzeptieren, dass ein so einfaches Verfahren so unmöglich scheint.

Ich fragte vorher die Frage und bekam eine Antwort, die im Juni 2016 gearbeitet - die nicht mehr beantworten funktioniert (How to use material2 toolbar, button and angular-cli router)

Dank

+2

Es sollte reichen, 'RouterModule' zu ​​dem Modul hinzuzufügen, wo' routerLink' verwendet werden soll wie '@NgModule ({imports: [CommonModule, RouterModule]}) Klasse MyModule {}' –

+0

Danke Gunter. Es ist interessant, dass der Fehler keinen Hinweis auf das fehlende Modul gab. –

+1

Es ist ein allgemeiner Fehler. Wenn Sie "Nicht an" xxx "binden können, bedeutet dies, dass Angular keine Komponente oder Direktive für dieses Element instanziiert hat, an das eine Eingabe mit diesem Namen gebunden ist. Wenn der Name ('xxx' oder der Elementname) nicht falsch geschrieben ist, liegt die Ursache darin, dass die Komponente oder die Direktive dem aktuellen Modul nicht zur Verfügung gestellt wurde. Dies ist nicht spezifisch für "routerLink", sondern gilt für jede Komponente oder Direktive. –

Antwort

3

Es ist ein allgemeiner Fehler. Wenn Sie nicht an 'xxx' binden können, bedeutet dies, dass Angular keine Komponente oder Direktive für dieses Element instanziiert hat, an das eine Eingabe mit diesem Namen zu binden ist. Wenn der Name (xxx oder der Elementname) nicht falsch geschrieben ist, liegt die Ursache darin, dass die Komponente oder die Direktive dem aktuellen Modul nicht zur Verfügung gestellt wurde. Dies ist nicht spezifisch für , sondern gilt für jede Komponente oder Richtlinie.

Verwandte Themen