http://jsfiddle.net/ACzaJ/7/ 该 fiddle 存在以下问题:
当您点击:“清除已完成按钮”时,您将收到错误消息:
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
Peter 在这里提供的解决方案后来出现了问题,Peter 在这里解决了新问题:
Previously working emberjs1.0-pre form on jsfiddle returns "error": "Please use POST request"
最佳答案
首先,您似乎已经为 TodoView
提供了一个包含空格的 id
。这个id
需要是一个有效的HTML id,这样肯定会导致一些问题。其次,submit
函数正在查找 TodoFormView
实例上的值。但是,该值是在您的 TodoView
实例上定义的。您需要在两者之间设置绑定(bind)。
我暂时放弃了 TodoView
并仅使用标准 TextField
,从而简化了一些事情。此外,您的 remain
函数需要更改为使用引号而不是 get(length)
执行 get('length')
。另外,复选框 API 与一些旧示例相比已发生变化,请参阅 http://docs.emberjs.com/#doc=Ember.Checkbox .
这是更新后的 fiddle :http://jsfiddle.net/wagenet/ACzaJ/8/
关于ember.js - Emberjs 表单、提交函数和操作帮助程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996794/