ember.js 是否可以将父路由设置为404,而将子路由设置为特定路由

mklgxw1f  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(148)

在我的router.js文件中,有如下内容

import EmberRouter from '@ember/routing/router';

const Router = EmberRouter.extend({});

Router.map(function () {
  this.route('index', { path: '/' });
  this.route('foo', function() {
    this.route('bar', function() {
      this.route('cat');
    });
  });

  this.route('notfound', { path: '/*path' });
});

export default Router;

问题是,我希望路径/foo/bar/cat路由到foo.bar.cat路由,但我不希望路径/foo/foo/bar路由到除404以外的任何路由。在我的例子中,foobar路由基本上是无用的。我只希望url有3个级别,以达到美观的目的。

cyvaqqii

cyvaqqii1#

我实际上意识到更有意义的是避免创建foobar路由,并为我想要的路由创建一条路径。
因此,与其在ember-cli中这样做,不如:
ember g route foo/bar/cat
我刚刚做了
ember g route cat
然后在路由器中设置所需的路径。

Router.map(function () {
  this.route('index', { path: '/' });
  this.route('cat', { path: '/foo/bar/cat'});
  this.route('notfound', { path: '/*path' });
});

这样就得到了foo/bar/cat的正确路由,但是foofoo/bar都被路由到notfound路由。

相关问题