问题标签 [ember-model]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 未捕获的类型错误:对象 [object Object] 没有方法“deleteRecord”
我在这里使用ember-model。我正在尝试从作为夹具节点之一的数组中删除记录。
这个 ( cart_items
) 数组hasMany
与模型有关系。
我在这里发布了我的完整代码。
在这里,我正在尝试使用以下代码从表中删除行:
但它抛出了一个异常:Uncaught TypeError: Object [object Object] has no method 'deleteRecord'
我试过用这个。在这里,我没有得到任何异常,但记录也没有被删除。
我不明白这里发生了什么?
我认为有一些我无法找到的上下文问题。任何人都可以帮助我使这个 jsfiddle 工作吗?
ember.js - Ember-table 与 Ember-model / Ember-data 的集成
我正在尝试将 ember-models 链接到 ember-table 以从服务器中提取分页记录并在向下滚动时将它们添加到表中。
我可以通过像在http://addepar.github.io/ember-table/上的 ajax 示例中那样请求带有页码的 api url 来使其工作,但我无法弄清楚如何将它与 ember-model 集成以创建和ember 对象,然后将它们添加到表中。
这是我的代码,用于发出 ajax 请求并添加到表中。谁能告诉我如何将其更改为使用 ember-model / ember-data 。
有可能还是这会减慢它的速度?
谢谢您的帮助。瑞克
ember.js - 子记录和 ember 模型
[更新]
感谢你目前的帮助。
我已经能够使用带有静态数据的嵌入式评论记录创建一个新的帖子记录。通过这种方法:
但是我没有弄清楚如何通过 CommentsController 或 Route 检索当前的帖子,以便在已经存在的帖子上创建评论记录。
在搜索和筛选随机的 SO 和文章后,我尝试了一系列方法来调用当前的帖子,但仍然没有骰子。
我尝试设置var post = App.Post.create
为:
我也设置了我CommentsController
的needs: "post"
。
我也尝试添加:
我读了一篇文章,声明的动作也应该在路由中定义,我需要在 ? 中定义我的addComment
函数PostRoute
?
我想知道我是否需要使用var post = App.Post.find(post)
或类似的东西。
我在正确的轨道上吗?感觉就像我在黑暗中对扫帚壁橱里的一头大象开枪,但仍然失踪......
ember.js - 如何正确添加相关记录
我有一组评论和一组帖子。
我怎么能:
- 创建一个新的嵌入式评论。
- 创建一个非嵌入式评论并将该创建添加
comment_id
到comment_ids: []
Post 模型中。
如果未嵌入,我可以post_id
进入评论,但很难将comment_id
添加到帖子中。
ember.js - 按父 ID 过滤子数组
这是一个基本的帖子/评论。
当我创建新评论时,它们会添加一个post: attr()
与它们相关的帖子的 id 相匹配的标签。我想制作一个过滤器,以便在选择特定帖子并导航到评论部分时仅加载相关评论。
这种迂回方式的原因是我在使用 ember-model 或 ember-data + 各自的 firebase 适配器时无法添加嵌入式评论。
我也无法保存新评论并在创建时添加comment_ids: []
引用App.Post
。
如果有人知道如何执行上述任一操作,那也可以。
ember.js - 如何将子记录添加到现有父记录?
我一直在谷歌搜索和搜索 Stack Overflow 以获取有关此主题的某种提示,但信息充其量是分散的。
我正在尝试创建一个新的子记录 ( Comment
) 并将其保存到现有的父记录 ( Post
)。我使用的是 Ember-Model,而不是 Ember-Data,但任何提示或指示将不胜感激。
目前,我已经成功地创建了一个新的嵌入式,Comment
但只有当它是用新 Post
记录创建时。所以:
如何加载/检索当前加载的Post
(父记录)以应用Comments
(子记录)?
我一直在阅读控制器依赖关系,使用needs:
andthis.controllerFor
来this.modelFor
访问另一个控制器/模型content
,但无法将这些东西连接在一起成为有意义的东西。
无论如何,这就是我将我的应用程序代码缩减到的内容,希望我能够偶然发现这样做的正确方法......
路线
我删除了所有其他资源和路线,所以剩下App.Post
,App.PostIndex
和App.Comments
. 我认为我的路线是这里的问题,我假设我没有正确实施在我的路线中使用加载Post
记录的方法。Comments
控制器
这是我当前的评论控制器,它可以创建一个新Post
的带有嵌入式Comment
. 我已经找到并获得了许多创建 的示例Comment
,但似乎没有一个对我有用。基本上,我正在努力将其定义var post = ...
为当前加载的记录。我已经实施了各种方法来尝试试错。到目前为止,我已经尝试过:
var post = App.Post.create();
,返回属性未定义,因为这将创建一个新记录。但是,我试了一下,因为我看到的每个与此相关的示例都定义了他们的记录。var post = this.get('post');
,在未定义时返回一个不能调用'get'。我已经尝试使用这种方法在Comments
控制器和Post
控制器上定义我当前的帖子。var post = this.get('controllers.post.content);
,从我正在使用的后端返回一个“循环错误”。var post = App.Post.find();
,在未定义时返回一个不能调用'get'。var post = App.Post.find(1);
, 同样,返回一个不能在 undefined 上调用 'get'。我想我会试一试,因为这是人们提供的那些反复出现的例子之一。我使用的后端将自己的 ID 应用于每条记录,我不确定我是否能够/如何让该.find()
方法使用动态 ID 值并仅检索我刚刚加载的模型。
我猜我没有正确设置我的路由和控制器依赖项?
如果有人有建议、相关链接或修复,我将不胜感激。
在这一点上,这个(看似简单的)问题/用例让我束手无策。
ember.js - 尝试在 Ember 中更新 ObjectController 中的模型时出错
页面加载从用户查看用户个人资料时开始。然后他做了一些动作,我的代码会调用 ajax 来更新它的用户类型——
但是每当我访问用户列表时,Ember 会尝试从 UsersRoute 中获取所有用户:
然后我最终得到类似于这些的所有错误:
错误尝试处理事件`loadedData`:deleteRecord 后对象未更新
我认为这篇文章在这里解释了这个问题 -
http://www.thomasboyt.com/2013/05/01/why-ember-data-breaks.html
未捕获的错误:尝试
loadedData
在 rootState.loaded.updated.uncommitted 状态下处理事件。用 {} 调用这意味着您正在尝试对记录执行在当前状态下无法执行的操作。当尝试更新当前正在保存的记录或尝试在已删除的对象上呈现属性时,通常会发生这种情况。
但请注意,当它反过来时,我先去用户列表表,然后去查看用户的个人资料,更新用户 - 这个错误永远不会出现。
编辑:
来自用户的示例响应:
对于单个用户:
ember.js - Ember-Model 初始化问题
我将我的应用程序代码从多个 js 文件合并到一个 js 文件中。因此我无法控制顺序,老实说也不想。要使用 ember-model 指定自定义适配器,您需要像这样创建它的实例:
因此,如果 CustomAdapter 的代码出现在上述语句之后,我会收到[Uncaught TypeError: Cannot call method 'create' of undefined]错误。
有没有解决的办法?
ember.js - 如何在不清除本地存储的情况下删除与 ember 模型关联的所有记录?
我已经扩展了这个stackoverflow 答案中给出的程序,使其具有一个可以一次删除所有记录的程序。但是,删除仅分批进行,不会一次全部删除。
这是我在这个JSBin中使用的函数的片段。
知道如何修改程序以便一次删除所有记录吗?
我也尝试过 model.destroy() 和 model.invoke('deleteRecords') 但它们不起作用。
任何帮助是极大的赞赏。谢谢你的帮助!
javascript - 每当有新记录时使用 Ember-Model 更新视图
我有一个简单的 Ember.js 应用程序。有一个application view
,在那个视图里面有一个results view
.
我正在使用 ember-model 以这种方式从服务器获取 JSON:
我使它尽可能简单,以便人们可以公平地了解正在发生的事情。
所以基本上,我的应用程序视图中有一个按钮,每当我单击时,都会调用一个调用 Map.Winery.findAll(); 的操作。(从服务器重新加载数据)。
我想要的是,每当记录中加载了新数据时,results view
都应该使用新结果进行更新。
应用程序.hbs
application_controller.js
结果.hbs
results_view.js
现在的问题是:当有新数据从服务器加载到记录时,我如何做到这一点,结果视图会更新?
我尝试插入尽可能多的相关代码,请随时提出任何问题。
谢谢