“未捕获的TypeError:当使用ember的linkTo帮助程序时,无法调用未定义的方法'slice'

时间:2013-01-19 10:39:08

标签: ember.js ember-router

使用:

  • ember.js commit b2e82ae
  • ember-data.js commit 001ba0c
  • 车把-1.0.rc.2.js

这已经用于最新的路由器API,但现在在升级到最新提交后中断。这也是第一次升级,告诉我将rc.2用于把手,这可能是一个提示。

linkTo 帮助程序在解析 todo_items 模板时会引发错误:Uncaught TypeError: Cannot call method 'slice' of undefined

# router
App.Router.map(function() {
 this.resource('todo_items', function() {
   this.route('todo_item', {
      path: '/:todo_item_id'
    });
  });
});

App.TodoItemsRoute = Ember.Route.extend({
  model: function() {
    return App.TodoItem.find();
  }
});

# todo_items.handlebars
<ul>
  {{#each item in content}}
  <li>
    {{#linkTo todo_items.todo_item item}}{{item.title}}{{/linkTo}}
  </li>
  {{/each}}
</ul>

当我用引号:linkTo "todo_items.todo_item" item包装linkTo的第一个参数时没有任何区别,会出现同样的错误。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,这是因为使用了ember.js的HEAD。切换到官方的1.0.0-pre.4版本解决了它。

答案 1 :(得分:1)

您是否使用预编译模板?

我使用grunt-ember-templates来编译把手模板,我也有同样的错误

我通过升级用于编译模板的把手版本解决了这个问题。