Ember嵌套路由

时间:2013-05-02 20:46:07

标签: ember.js handlebars.js

在我的application.hbs中想要:

{{#linkTo 'pieces/newPiece' }}New Piece{{/linkTo}}

所以我设置了路由器:

App.Router.map(function() {
  this.resource('pieces', function(){
    this.route('newPiece');
  });
});

但我得到了:

The route pieces/newPiece was not found

任何方向赞赏

更新

我改变了:

{{#linkTo 'pieces/newPiece' }}New Piece{{/linkTo}} 

{{#linkTo 'pieces.newPiece' }}New Piece{{/linkTo}},  

并负责处理错误,但我想要的是调用piecesController的'newPiece'函数。

1 个答案:

答案 0 :(得分:0)

您想使用{{action}} helper。从指南:

  

您可能希望触发高级别事件以响应简单用户   事件(如点击)。

     

一般来说,这些事件会操纵一些属性   控制器,它将通过绑定更改当前模板。

在您的情况下,假设pieces是上下文中的当前控制器,您将使用:

<a href='#' {{action newPiece}}>New Piece</a>

JSBin example