javascript - Ember 教程 - 向 router.js 添加新路由

标签 javascript ember.js

我一直在做这个教程来尝试自学 ember-

http://coding.smashingmagazine.com/2013/11/07/an-in-depth-introduction-to-ember-js/

我已经成功地完成了它,现在正在尝试充实它并添加我自己的功能,但我是 ember 的新手,在弄清楚它时遇到了一些麻烦。原始教程是一个面向一组用户的 CRUD 应用程序。我现在想扩展该应用程序以处理这些用户可能学习的主题列表。我正在完成这些步骤,但在弄清楚如何修改 router.js 文件以使其包含我的新 subject 路由时遇到了一些麻烦。路由器看起来像这样-

App.Router.map(function(){
  this.resource('users', function(){
    this.resource('user', { path:'/:user_id' }, function(){
      this.route('edit');
    });
    this.route('create');
  });
});

谁能告诉我添加第二条路线后它应该是什么样子?当我指的是多个路线时,我对包含 this 感到困惑。谢谢。

最佳答案

如果您需要处理每个用户主题,则需要更改您的router.js,如下所示:

App.Router.map(function(){
  this.resource('users', function(){
    this.resource('user', { path:'/:user_id' }, function(){
      this.route('edit');
      this.route('subjects');
    });
    this.route('create');
  });
});

鉴于此路由器文件,您将拥有以下路由:

  • /用户
  • /users/:user_id
  • /users/:user_id/edit
  • /users/:user_id/subjects
  • /users/create

如果您只想创建另一条路线,那么:

App.Router.map(function(){
  this.resource('users', function(){
    this.resource('user', { path:'/:user_id' }, function(){
      this.route('edit');    
    });
    this.route('create');
  });
  this.route('subjects');
});

路线:

  • /用户
  • /users/:user_id
  • /users/:user_id/edit
  • /users/create
  • /科目

为了帮助您解决问题并避免混淆,我建议使用 Ember Extension 。它对你有很大帮助。

关于javascript - Ember 教程 - 向 router.js 添加新路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473344/

相关文章:

javascript - 将 jQuery Each 的返回值转换为数组并显示最大值

javascript - 仅使用 JavaScript 的递归 HTML 表格树

javascript - 如何使用 Nerdamer.js 获得正确的解决方案

javascript - Ember.js 弃用 registerImplementation 以支持 App.initializer

ember.js - 在 emberjs 中处理同一 View 上的单击和双击

javascript - Ember 转换至 URL 不起作用

javascript - 在 Ember/Ember 数据中访问嵌套的 hasMany 关系

javascript - 如何在单个 View /页面中呈现两个电子签名组件?

ajax - 保持数据与服务器同步

javascript - 对象不支持此属性或方法 JavaScript 错误