2

http://jsfiddle.net/ACzaJ/7/ 这个小提琴有以下问题:

  1. 当您单击:“清除已完成按钮”时,您将收到错误消息:

    Uncaught Error: assertion failed: Target <Ember.View:ember116> does not have action clearCompletedTodos
    
      And this line generates that error:
     <button {{action clearCompletedTodos  target="Todos.todosController" }} >
          Clear Completed Todos
      </button>
    
  2. 我正在尝试两种不同的提交功能,每次评论一个以尝试另一个:

    2a. 当我单击“添加”按钮时,通过注释掉第二个提交功能来使用第一个提交功能时,不会添加新的待办事项,也不会出现错误。那是什么都没有发生。

    2b。当我注释掉第一个提交函数并使用第二个提交函数时,单击添加,会引发以下错误:

    Uncaught TypeError: Cannot call method 'createTodo' of null.
    

我怎样才能制作这个待办事项应用程序,运行并添加和清除待办事项。谢谢

更新

问题 1 现在由 @pauldechov 解决。但问题 2a 和 2b尚未解决。jsfiddle 链接也已更新。谢谢@pauldechov。

更新 2

彼得在这里提供的解决方案后来出现了问题,彼得在这里解决了新问题:

以前在 jsfiddle 上工作的 emberjs1.0-pre 表单返回“错误”:“请使用 POST 请求”

4

1 回答 1

5

首先,看起来你已经给你TodoView的 anid空间了。这id需要是一个有效的 HTML id,这样肯定会导致一些问题。其次,该submit函数正在您的实例上寻找一个值TodoFormView。但是,该值是在您的TodoView实例上定义的。您需要在两者之间建立绑定。

我通过暂时摆脱TodoView并仅使用标准来简化了一些事情TextField。此外,您的remaining函数需要更改为get('length')使用引号而不是get(length). 此外,复选框 API 已从一些较旧的示例中更改,请参阅http://docs.emberjs.com/#doc=Ember.Checkbox

这是更新的小提琴:http: //jsfiddle.net/wagenet/ACzaJ/8/

于 2012-08-17T14:42:56.993 回答