ich eine übergeordnete Ansicht während meiner App verwendet habe:Wie weitere Einträge in der Seitenmenü von untergeordneter Ansicht setzen
$stateProvider
.state("app", {
abstract: true,
url: "/app",
templateUrl: "app/layout/menu-layout.html",
controller: "MenuLayoutController as vm"
})
Es enthält eine ion-nav-view
für den Hauptinhalt und ein Seitenmenü:
<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
<ion-nav-view name="maincontent">
</ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left"">
<ion-content>
<div class="list">
<!-- static menu items here -->
<!-- and I want to add menu items here relevant
to the child view-->
</div>
</ion-content>
</ion-side-menu>
</ion-side-menus>
ich habe auch ein Kind Blick:
.state("app.questionnaire", {
url: "/questionnaire/:id",
views: {
"maincontent": {
templateUrl: "app/questionnaire/questionnaire.html",
controller: "QuestionnaireController as vm"
}
}
})
ich möchte jetzt Menüpunkte in das Hauptmenü hinzufügen, wenn ich viewin bin g Die Kindansicht - aber die Elemente sind dynamisch. In meinem Fragebogen Controller habe ich diese Linie, die die Abschnitte zu holen und sie zu diesem Modell Controller hinzuzufügen:
vm.sections = $filter('orderBy')(questionnaire.Sections, 'SortOrder');
Und ich mag das Seitenmenü zu jedem Abschnitt Links hinzuzufügen. Gibt es einen guten Weg, das zu tun? Vielleicht mit angular-ui-router
und Hinzufügen eines weiteren ion-nav-view
zum Menü?
Ich kam vor kurzem in diesem ziemlich viel, was Sie tun wollen, sind - https://forum.ionicframework.com/t/dynamically-change-side-menu-content/14529/6?u=michaeldoye – Und3rTow
@ M.Doye das ist nützlich, aber eine zusätzliche Komplikation ist, dass meine Kind Elemente nicht statisch sind (Ich habe jetzt diese Info zu der Frage hinzugefügt). Also muss das Kind den HTML-Code in den Elternteil einfügen oder der Elternteil muss die Daten vom Kind abrufen. Ähnlich wie das Kind selbst in die 'ion-nav-Ansicht' mit dem Namen 'maincontent' injiziert wird. – Colin
Haben Sie versucht, $ $ scope. $ Emit()' Ihre dynamischen Abschnitte aus der Kind-Ansicht, dann zu hören in der abstrakten Zustandskontrolle; Wenn Sie die Daten ausgeben, die zum Erstellen von Menüelementen erforderlich sind, können Sie versuchen, die Menüelemente "ng-repeat" zu verwenden. –