我希望在某个对象中看到所有可能的路径。我怎么能这样做?
示例我有:
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中对象中的“树”?
答案 0 :(得分: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);
});