6

我知道路由用于将 URL 映射到模板,但显然您可以使用 this.route 或 this.resource 定义路由

App.Router.map(function() {
  this.route("about", { path: "/about" });
  this.route("favorites", { path: "/favs" });
});

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

如果您想定义路由的子路由,您是否只使用 this.resource 或者我没有得到其他理由?

4

2 回答 2

8

如果您想定义路由的子路由,您是否只使用 this.resource 或者我没有得到其他理由?

这是基本的想法。

  • 资源 = 父母(通常是名词)
  • 路线=孩子(通常是动词)

另请记住,路由器始终指向当前路由。它不能转换为资源。在幕后 ember 会在每个资源下自动生成一个“索引”路由,所以即使你定义了这样的东西:

App.Router.map(function() {
  this.resource("about", { path: "/about" });
});

你最终得到这个:

App.Router.map(function() {
  this.resource('about', { path: '/about' }, function() {
    this.route('index');
  });
});
于 2013-04-02T02:55:22.087 回答
0

这是在 ember 3.x 中折旧的。没有了this.resource()

于 2018-11-01T07:20:45.860 回答