我正在为 Ember 应用程序开发保存的搜索功能,一般的想法是在进行搜索后,您可以选择输入搜索的短名称并将其保存到localStorage
下拉列表中并稍后从下拉列表中检索它,同时也能够与其他用户共享当前 URL 并让他们看到相同的搜索。
这通过结合使用Router
URL 中的 Ember 处理搜索参数和处理用户单击“保存”的视图(视图包含在小提琴中,但由于不包含模板而无法运行 - 见下文)。
每当我运行应用程序时,我都会收到以下错误:
Uncaught TypeError: Cannot call method 'set' of undefined
您可以在下面列出的小提琴中看到跟踪,但它似乎源于 ember-data 中的控制器存储注入。不幸的是,我对 Ember[-data] 的了解还不足以了解这与应用程序的其余部分有何关系。
我已经采用了应该独立工作的应用程序的相关部分并在 JSFiddle 中运行它们,但这仍然会导致相同的错误。小提琴位于http://jsfiddle.net/fetcU/。目前没有车把模板或该小提琴中的任何东西,因为它们不会导致问题。
在localStorage
引入路由器之前,适配器和其他部分独立工作,因此它可能与现在正在运行的代码有关Checklist.initialize()
(在添加路由器之前没有必要)。
我已经将此与其他类似的项目和示例进行了比较,尤其是那些为 ember-data 提供的项目和示例,但我在这里做错了什么并不完全清楚。我会很感激任何见解!