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 回答