2013-10-02 17 views
5

Recentemente ho diviso un'applicazione di rotaie che avevo e ho creato il front-end come app separata con yeoman. Per qualche ragione le mie opinioni rendono non più, per esempio la mia app definisce:ui-router non rendering visualizzazioni

'use strict'; 

    var actionTrackApp = angular.module('actionTrackApp', [ 'ui.router', 'ngGrid']); 
    actionTrackApp.config(function($locationProvider) { 
     return $locationProvider.html5Mode(true); 
    }); 
    actionTrackApp.config(function($stateProvider){ 
     $stateProvider 
     .state("packageIndex", { 
      url: "/packages", 
      views: { 
      "main": { 
       controller: "ApplicationCtrl", 
       template: "<h1>Test</h1>" 
      }, 
      "": { 
       template: "<h1>Test2</h1>" 
      } 
      }, 
      resolve: { 
      test: function(){ 
       console.log("test") 
      } 
      } 
     }) 
    }); 

e nel mio file index.html ho:

bodytag ng-app="actionTrackApp" ng-controller="ApplicationCtrl"> 
    your site or application content here<a href='/packages'>Package Index</a> 

    <div ng-view="main" class="container"></div> 
    <div ng-view=""></div> 
/bodytag 

quando clicco sul link resolve viene risolto e Vedo "test" nella console. Ho provato ad associare $ routeChangeStart/success watch al controller dell'applicazione, ma né start/fire successo qui.

+0

Si può avere un solo 'ng-view' definito. – zsong

+0

No, è possibile utilizzare più viste. Non funziona con 1 sia che sia – jvans

+0

non credo. – zsong

risposta

4

ho preso un'occhiata al tuo codice e trovato un paio emette

  1. fare riferimento viste ui-router, è necessario utilizzare la direttiva ui-view, non ng-view
  2. il "" Vista è definito in modo non corretto - si deve utilizzare un nome di chiave valida, ho cambiato in a e aggiornato il riferimento nel codice HTML

Dopo che ho fatto questi cambiamenti, tutti funziona come previsto qui: http://plnkr.co/edit/lxAUGMqajwI461VKz8xo

ps: sono andato avanti e usato ui-sref sul tuo link, invece di codificare il pacchetto url/...

+0

È stato fantastico. Grazie per l'aiuto. anche ui-sref è sicuramente l'approccio giusto. Penso che "" sia valido comunque. Ho giocato con il tuo plunker e funziona ancora con ui-view = "" e visualizzazioni: {"": {template: "

Test2

"}}. – jvans

+0

Aha ... interessante, credo di essermi sbagliato riguardo alla stringa vuota ... buono a sapersi. – bendalton

Problemi correlati