suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie bindet Angular2 Eingabeattribute an Komponenten-Tags, an die weitergeleitet werden muss, nachdem <route-outlet></route-outlet> Platz belegt?

Lösung, wie in der Frage beschrieben:
Ich möchte Daten an eine Komponente übergeben, aber diese Komponente wird am Standort von <route-outlet></route-outlet> angezeigt und [XX] = „XX“ kann nicht direkt zum Router-Outlet-Label hinzugefügt werden,

Ein Blick auf die Dokumentation zeigt, dass Klasse und Attribut über das mit @conponent annotierte Hostfeld gebunden werden können,
Aber wenn ich [Eingabewert] binde, wird ein Fehler gemeldet,

@Component({
  selector: 'app-onlinecourse',
  templateUrl: './onlinecourse.component.html',
  host:{
    class:"test",
    '[test]':"test"
  }
......

  @Input()
  test;
.....
 ngOnChanges() {
      console.log(this.test);
  }
//undifind

Fehlermeldung:
Kann nicht an „test“ gebunden werden, da es sich nicht um eine bekannte Eigenschaft von „app-onlinecourse“ handelt.

请输入代码

Danke

迷茫迷茫2754 Tage vor605

Antworte allen(1)Ich werde antworten

  • 学习ing

    学习ing2017-06-12 09:27:58

    angular的host遵循的是模板语法的绑定的规则,可参考(Template Syntax)[https://angular.io/docs/ts/la...。

    因此,你的host,大概应该如此:

    host: {
        '[class.special]': 'test',
        '[attr.aria-label]': 'true'
    }

    Antwort
    0
  • StornierenAntwort