Ich habe drei Angular 1.5 Komponenten: ReportFilter
und ClientSelect
, ZoneSelect
.Wie kann ich auf den Controller einer verschachtelten Komponente von der übergeordneten Komponente zugreifen?
ReportFilter weist die beiden Komponenten in der es
<!-- Report Filter -->
<div>
<client-select client="$ctrl.selections.client"></client-select>
<zone-select zone="$ctrl.selections.zone"></zone-select>
<button ng-click="$ctrl.search()">Get Report</button>
<button ng-click="$ctrl.clear()">Clear</button>
</div>
client
und zone
sind Zwei-Wege-Daten gebunden ist, so dass, wenn der Benutzer einen Client oder eine Zone auswählt, die jeweiligen Eigenschaften in meinem ReportFilter
aktualisiert ' s Auswahlen.
Meine Frage:
Wie kann ich eine reset()
Methode auf dem Controller meiner ClientSelect
oder ZoneSelect
Komponenten aus dem Inneren des ReportFilter
‚s Controller nennen?
React verfügt über ein ref
-Tag, mit dem Sie Zugriff auf den Controller erhalten, um Methoden darauf aufzurufen.
ich mehrere andere Komponenten (wie UI-Grid) verwenden diesen Ansatz gesehen habe als Gut. – sflogen
Ich habe einige seltsame Verhaltensweisen bei einigen Bibliotheken bemerkt, die dies tun ... zum Beispiel erfordert angular-nvd3 normalerweise, dass Sie eine 'on-ready'-Funktion bereitstellen, um die Scope-Variable tatsächlich zu füllen. – aaronmallen
Ich bin mir nicht sicher, ob dies das beabsichtigte Verhalten ist, da angle-nvd3 es Ihnen auch erlaubt, api zu definieren, aber es scheint nicht wirklich die Variable zu füllen, es sei denn, Sie tun dies innerhalb der On-Ready-Funktion. – aaronmallen