write with renderizar ngbind from escape angularjs angularjs-routing ionic-framework

with - Angularjs estados anidados: nivel 3



sanitizer angularjs (1)

Estoy usando Agnularjs y Ionic Framework. Estoy tratando de lograr un estado anidado, que se ve a continuación,

  • Eventmenu (raíz)
  • Inicio (2 niveles)
  • Inicio 1 (3 niveles)
  • casa 2
  • registrarse
  • asistente

Mi archivo de rutas parece,

angular.module(''ionicApp'', [''ionic'']) .config(function($stateProvider, $urlRouterProvider) { $stateProvider .state(''eventmenu'', { url: "/event", abstract: true, templateUrl: "event-menu.html" }) .state(''eventmenu.home'', { url: "/home", views: { ''menuContent'' :{ templateUrl: "home.html" } } }) .state(''eventmenu.home.home1'', { url: "/home1", views: { ''menuContent'' :{ templateUrl: "home1.html" } } }) .state(''eventmenu.home.home2'', { url: "/home2", views: { ''menuContent'' :{ templateUrl: "home2.html" } } }) .state(''eventmenu.checkin'', { url: "/check-in", views: { ''menuContent'' :{ templateUrl: "check-in.html", controller: "CheckinCtrl" } } }) .state(''eventmenu.attendees'', { url: "/attendees", views: { ''menuContent'' :{ templateUrl: "attendees.html", controller: "AttendeesCtrl" } } }) $urlRouterProvider.otherwise("/event/home"); })

Para ver un ejemplo completo, consulte el codepen: http://codepen.io/liamqma/pen/mtBne

/event/home /event/checkin

están trabajando, pero

/event/home/home1 /event/home/home2

no están funcionando.

Cualquier ayuda es muy apreciada. ¡Gracias!


Solucioné tu problema allí: http://codepen.io/yrezgui/pen/mycxB

Básicamente, Ionic usa Angular-UI-Router que tiene una API enorme. En su caso, debe verificar este enlace para comprender: https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views#view-names---relative-vs-absolute-names

Para ser cortos, los estados home1 y home2 son hijos del estado de origen, por lo que no pueden tener acceso a la vista de contenido del menú, porque está relacionado con el estado del menú de eventos.

Entonces necesitas escribir:

.state(''eventmenu.home.home2'', { url: "/home2", views: { ''menuContent@eventmenu'' :{ templateUrl: "home2.html" } } })

En lugar de :

.state(''eventmenu.home.home2'', { url: "/home2", views: { ''menuContent'' :{ templateUrl: "home2.html" } } })

Y home1 no funcionaba incluso después de esta modificación porque su url era:

url: "/home/home1",

En lugar de :

url: "/home1",

Al escribir eventmenu.home.home1 , convierte home1 en un hijo de su hogar , por lo que su url necesita ser relativa, no absoluta.

Espero que lo entiendas y te diviertas con Ionic;)