2013-08-27 17 views

Odpowiedz

-1

To jest total hack, ale działa w Ember 1.0.0. Aby linki do użytkowników pozostać aktywne, gdy trasa użytkownik jest aktywny:

App.UserRoute = Ember.Route.extend({ 

    activate: function() { 
     setTimeout(function() { 
      $('[href="#/users"]').addClass("active"); 
     }, 0); 
    } 
}); 
5

można ponownie otworzyć LinkView Ember i zrobić coś takiego (umożliwia currentWhen zawierać rozdzielonych wartości spacja)

Ember.LinkView.reopen({ 
    active: function() { 
     // we allow link-to's currentWhen to specify multiple routes 
     // so we need to check each one of them 
     var loadedParams = Ember.get(this, 'loadedParams'); 
     var currentWhen = this['current-when'] || this.currentWhen; 
     currentWhen = currentWhen || (loadedParams && loadedParams.targetRouteName); 

     if (currentWhen && currentWhen.indexOf(' ') >= 0) { 
       var currents = currentWhen.split(' '); 
       router = Ember.get(this, 'router'); 

      for (var i = 0; i < currents.length; i++) { 
       var isActive = router.isActive.apply(router, [currents[i]]); 
       if (isActive) 
        return isActive; 
      } 

      return false; 
     } 

     return this._super(); 
    }.property('resolvedParams', 'routerArgs') 
}); 
+0

i rozpoczynających się Ember 1.8, możesz po prostu ustawić current-when z ograniczoną spacją trasą! –

+0

Gdzie należy to zdefiniować za pomocą zestawu aplikacji Ember? – alexmngn

Powiązane problemy