2016-04-06 20 views
0

AngularJS'de çok yeniyim ve şu sorularım var:angularjs - Bir devletin yolunu başka bir devlete kadar nasıl bilebilirim?

Bir devletin yolunu başka bir devlete kadar nasıl bilebilirim?

Özellikle bir ülkeye geçtiği tüm durumların nasıl gösterileceğini öğrenmek istiyorum.

e.g: Şu eyaletlere sahibim: Giriş, oturum açma ve menüİçerik. o zaman bu menuContent başlangıç ​​ve giriş devam ediyor ve evde biterse, ben tüm rotayı görmek için ya da en azından ev kullanıcısı durumuna önce son

.state('home', { 
    url: "/home", 
     cache: false, 
     views: { 
      'menuContent': { 
       templateUrl: "app/pages/dashboard.html", 
       controller: 'dashboardCtrl' 
      }, 
     }, 
}) 

.state('login', { 
    url: "/login", 
     cache: false, 
     views: { 
      'menuContent': { 
      templateUrl: "app/modules/login/authentication.html", 
      controller: 'AuthenticationCtrl' 
      }, 
     }, 
}) 

.state('menuContext', { 
    url: "/menuContext", 
     cache: false, 
     views: { 
      'menuContent': { 
      templateUrl: "app/modules/login/menuContext.html", 
      controller: 'menuContextCtrl' 
      }, 
     }, 
}) 

O nokta anlaşılacaktır umut özür olurdu istiyorum ingilizcem önceden

çok teşekkür,

Saygılarımızla, cmol için

+0

Kullanım durumu nedir açıklayabilir misiniz? Durum bilgilerini neden görmek istiyorsun? –

+0

Sorunun çözülmesine yardımcı olur Merhaba, bir hata ayıklama yapmak için, tam olarak içinden geçtiğini bilmek istiyorum – CMol

+0

Hata ayıklama için kolayca krom göz içinde Inspect öğesinden hata ayıklayabilirsiniz –

cevap

1

Ben iki veri burada ele alma seçeneklerinin görebilirsiniz: ya bir hizmet oluşturmak veya $rootScope nesneye veri sopa.

ilginç kısmı/mağaza hizmet/nesne verilerinizi almak nasıl:

  • sen (Ivan belirtti benzeri) $stateChangeStart olay verileri itmek ve
  • gerektiğinde toplu yolunun çeşit döndürebilir
  • bunu gibi devlet verilerini itmek devlet config UI Yönlendiriciler onEnter özelliğini kullanabilirsiniz:

.

$stateProvider.state('state1.substate1', { 
    url: "/substate1", 
    templateUrl: "templates/substate1.html", 
    controller: 'substate1Ctrl', 
    onEnter: function(){ 
     $rootScope.path += '/substate1'; 
    }  
}); 

(OnEnter $ devletin bir fonksiyonu olarak listelenir) Buraya docs on $stateProvider bakınız.

0

önerim o önceki izleyebilmeniz için size fromState argüman olacak işleyicisinde, $stateChangeStart etkinliğini dinlemek olacaktır devletler ve ne istersen onu yap. Ayrıca bazı servisler yapabilir ve bu eski eyaletleri de geçirebilir ve sizin için tam bir yol inşa edecek/depolayabileceksiniz.

docs'a bakın.

0

Tüm kurallara sahip bir nesne listesi oluşturabilirsiniz. Ve sonra, bir döngü ile kayıt olabilirsiniz. Ve sonra, listenizi oluşturmak için bu nesneye erişebilirsiniz.

bir örnek kod:

var rules = { 
    'home': { url: "/home", cache: false, ... }, 
    'login': { url: "/login", cache: false, ... } 
} 

angular.forEach(rules, function(value, key) { 
    $routeProvider.state(key, value); 
}); 
İlgili konular