Ich versuche, die neue Methode component() in angular 1.5 zu verwenden. Momentan habe ich wenig Informationen darüber gefunden, wie man es benutzt. Die eckigen Dokumente erwähnen es auch nicht wirklich.
Ich versuche, den Bereich oder ein Objekt aus dem Bereich an die Komponente zu übergeben, die im Vorlagenabschnitt der Komponente verwendet werden soll, aber die einzigen beiden Parameter, die ich weitergeben kann, sind $ element und $ attrs. Ich habe versucht, das Objekt durch ein Attribut in der HTML zu übergeben, aber alles, was ich bekam, war die Zeichenfolge des Namens der Objekte.
Ich habe versucht, es Einstellung als Variable auf diese Weise dargestellt werden
my-attr="item.myVal"
my-attr="{item.myVal}"
my-attr="{{item.myVal}}"
jedes Mal, wenn ich noch die Stringliteral und nicht der Wert der Variablen erhalten. Wie kann ich einstellen, dass es als Variable behandelt wird?
Ich habe versucht, die Daten über die neuen Bindungen zu erfassen: {} aber meine Vorlage: {} hatte dann keinen Zugriff auf die Variablen.
Hier ist meine Komponente, wie es jetzt ist:
export var ItemListAction = {
controller: 'PanelCtrl as itemCtrl',
isolate: false,
template: ($element: any, $attrs: any): any=> {
var myVal: any = $attrs.myAttr; // returns "item.myVal"
var listAction: string = compileListAction();
return listAction;
}
};
Hier meine Komponente in HTML ist
<panel-item-list-action my-attr="item.myVal"></panel-item-list-action>
Dies ist die Winkelmodul Erklärung für die Komponente: angular.module('Panel', []).component('panelItemListAction', ItemListAction)
Vielen Dank für die Antwort, ist es eine Möglichkeit, den Umfang zuzugreifen, ein Objekt oder Variable i nside die Vorlage: {} Eigenschaft? Der Blog erwähnt das nicht – appthat
Vorlagen brauchen $ Scope nicht. Template-Funktionen geben HTML zurück. Sie können $ scope wie immer in den Controller injizieren. – georgeawg
also außerhalb des Bereichs zu isolieren, ist component() ähnlich wie ng-include? – appthat