4

给定以下路由器设置:

App.Router.map(function() {
  this.resource('posts', function() {
    this.route('new');
    this.resource('post', { path: ':post_id' }, function() {
      this.route('edit');
    });
  });
});

是否可以获得路线的路径?

虚构示例:

App.Router.get('path', 'posts.new'); //=> "/posts/new"

或使用以下模型:

App.Router.get('path', 'post.edit', model); //=> "/posts/1/edit"
4

1 回答 1

4

在你的控制台/开发工具中试试这个:

App.Router.router.generate(['posts.new']);

这应该输出:

/posts/new

并有一个模型:

App.Router.router.generate(['post.edit'], postModel);

将输出

/posts/1/edit

感谢@MilkyWayJoe 的参考!https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/helpers/link_to.js#L112-L117 :)

于 2013-05-09T21:36:02.247 回答