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>
我正在尝试两种不同的提交功能,每次评论一次以尝试另一种:
2a上。当我点击“添加”按钮时,当通过注释掉第二个提交功能使用第一个提交功能时,不会添加任何新的待办事项并且没有错误。这没什么事情发生的。
2B。当我注释掉第一个提交功能并使用第二个提交功能时,单击添加,将引发以下错误:
Uncaught TypeError: Cannot call method 'createTodo' of null.
如何制作此待办事项应用,运行并添加和清除待办事项。感谢
更新
问题1现在由@pauldechov解决。但问题2a和2b 尚未解决。 jsfiddle链接也已更新。谢谢@pauldechov。
更新2
彼得此后提供的解决方案存在问题,彼得在这里解决了新问题:
Previously working emberjs1.0-pre form on jsfiddle returns "error": "Please use POST request"
答案 0 :(得分:5)
首先,看起来您已经为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/