0

いくつかのオブジェクトで可能なすべてのパスを表示したい。これどうやってするの?

私が持っている例:

App.Router = Em.Router.extend({
enableLogging: true,
location: 'hash',

root: Em.Route.extend({
    // EVENTS
    gotoAbout: Ember.Route.transitionTo('about'),
    gotoProjects: Ember.Route.transitionTo('projects'),
    gotoTechnology: Ember.Route.transitionTo('technology'),
    gotoContact: Ember.Route.transitionTo('contact'),

    // STATES
    about: Em.Route.extend({
        route: '/',
        connectOutlets: function (router, context) {
            router.get('applicationController').connectOutlet('about');
        }
    }),
...
})

console.log()で可能なすべてのパスをコンソール(のようなもの)に出力したいApp.Router。これどうやってするの?emberjsのオブジェクトの「ツリー」を確認するにはどうすればよいですか?

4

1 に答える 1

2

繰り返してchildStates、再帰関数を作成します。

var walkState = function(state){
  console.log(state.get('path'));
  state.get('childStates').forEach(function(childState){
    walkState(childState);        
  });                    
}        

App.router.get('childStates').forEach(function(state){
   walkState(state);        
});
于 2012-08-01T21:10:14.973 に答える