http://jsfiddle.net/ACzaJ/7/ 这个小提琴有以下问题:
当您单击:"清除完成按钮"时,您将收到错误:
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>
Run Code Online (Sandbox Code Playgroud)我正在尝试两种不同的提交功能,每次评论一次以尝试另一种:
2A.当我点击"添加"按钮时,当通过注释掉第二个提交功能使用第一个提交功能时,不会添加任何新的待办事项并且没有错误.这没什么事.
2B.当我注释掉第一个提交功能并使用第二个提交功能时,单击添加,将引发以下错误:
Uncaught TypeError: Cannot call method 'createTodo' of null.
Run Code Online (Sandbox Code Playgroud)我怎样才能制作这个待办事项应用程序,运行并添加和清除待办事项.谢谢
UPDATE
问题1现在由@pauldechov解决.但问题2a和2b尚未解决.jsfiddle链接也已更新.谢谢@pauldechov.
更新2
彼得此后提供的解决方案存在问题,彼得在这里解决了新问题:
首先,看起来你已经给了你TodoView一个id空格.这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/