问题标签 [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.
json - 从 Ember-Model Embedded hasMany 数组中提取数据
我的问题是从 ember 嵌入的 hasmany 数组对象中获取内容。
我正在使用 ember 模型 ( https://github.com/ebryn/ember-model ) 库从服务器获取和发布数据。
返回的 JSON 包含嵌入的对象,但在我看来,我无法从此嵌入记录中获取数据。
以下是json结构和我的代码。
JSON:
楷模:
Index Route:获取所有模块对象
Index.hbs 模板:
这是获取“SubModules”元素的正确方法吗?第二个每个循环都不起作用,调用 item.SubModss 返回 Ember.EmbeddedHasManyArray。
javascript - 在对象更新时更新 Emberjs 视图
我正在使用这个漂亮的 Ember.js 混合:https ://github.com/Wildhoney/EmberDroplet使用拖放上传图像,它工作得很好。
唯一的问题是,我不知道如何在上传图片后将它们添加到视图中。该模型在我的 Rails API 中得到正确更新,但是,由于没有真正刷新整个页面,我不知道如何在 Ember 中更新模型。
这是我的一些代码片段:
router.js.coffee
routes.js.coffee
media.handlebars
media.js
哦,是的,还有模型,如果有帮助的话(我正在使用 ember-model):
单独使用 jQuery 将新图像附加到页面是非常简单的,但出于某种原因,Ember 使它变得非常复杂。(好吧,平心而论,Ember 的其他事情要容易得多。)
更新:
你不知道吗,我在将它发布到 stackoverflow 后几天(是的,几天)和几个小时都在为一个问题苦苦挣扎,我离答案更近了一点。
我发现由于 emberdroplet 使用标准 XMLHttpRequest,我可以使用 request.onload 并访问我的 Rails API 发回的 request.responseText。
好的,现在这是我的代码:
但是,我得到了一个错误:
我找回了这个 JSON:
这被添加到视图中:
所以,我想,Ember-model 不知道如何处理原始 JSON,所以我应该先对它做点什么,对吧?
有任何想法吗?
javascript - 在路线之间导航时侧载记录消失
所以我有一个试用博客应用程序,它非常类似于http://emberjs.jsbin.com/conum/3/edit。在我的应用程序中,我使用 RESTAdapter 而不是固定装置,但我不知道如何在 jsbin 中执行 REST 行为。这很重要,因为该问题似乎仅在我使用 RESTAdapter 时才会发生。所以这里是问题:
当我输入资源时,比如帖子路线,我会加载帖子并向用户显示每个帖子。我可以导航到用户的详细信息并返回帖子列表就好了。当我输入 posts.create 资源时,我会加载所有用户以在选择下拉列表中显示它们。当我导航回帖子列表时会出现问题。与帖子关联的用户现已消失!再一次,这只发生在我使用 RESTAdapter 时,所以你不会在 jsbin 中看到问题。
我已经处理了 2 天了,这是 ember 中的错误吗?因为我也尝试过使用 ember-model 而不是 ember-data,并且发生了类似的事情..还是我做错了?任何帮助将不胜感激..谢谢!
javascript - EmberJs:当 belongsTo 属性变脏时如何保存模型?
给定两个模型,我如何确保对“子”对象的更新将“父”对象标记为“脏”,以便save
对父对象的调用不会跳过?
细节
使用 ember-model,我定义 Person
了 Address
如下模型:
现在我已经将它呈现在一个表单中,并使这些属性可编辑:
到目前为止,一切都很好。最后一个难题是将模型持久化到服务器
在这里我们看到,当用户编辑地址(或者line1
或line2
)时,model
不被认为是“脏的”,因此ember-model
不会使适配器调用save()
。
发生这种情况,即使address
被认为是脏的,并且具有与 定义的关系model
。
这意味着我需要在两个对象上分别调用save
(或)。revert
因此我会失去操作的原子性,并且还需要为address
对象定义一个新的端点。我不想做这些。
我怎样才能确保更新address
也会model
变得肮脏?
更新:
我没有同时调用save
“子”和“父”对象,而是通过查看 ember-model 的源代码找到了一种更好的方法:
这确保了原子性得以保留,但是像这样直接调用私有方法似乎并不正确。有没有更好的办法?
目前这种方法的唯一用途_relationshipBecameDirty
——has_many_array.js
在 ember-model 中,我无法在belongs_to.js
. 如果这是在 meber 模型中有意设计的,那么实现此目的的正确方法是什么?
javascript - Ember:ember-model 是否允许使用 .properties(...) 绑定计算值
我正在尝试使用 .property('key') 语法在我的模型中获取计算值以进行更新。我的模型是这样的:
在我的相机路线中,我正在定期修改刷新变量,但它不会导致 thumbnailUrl 的更新。我是做错了什么还是ember-model不支持 .property() 功能。
我可以在我的模板中使用刷新属性,并且我看到它正在更新。有任何想法吗?
javascript - ember-model 示例应用程序
我正在寻找使用 ember-model ( https://github.com/ebryn/ember-model )的示例应用程序
我正在寻找一个例子:
- 展示对象获取和创建,
- 展示自定义适配器的编写,
- 有完整的可用资源
我通读了 GitHub 上的 ember-model 文档,我看到了有关该主题的 Ember-cast ( http://www.embercasts.com/episodes/getting-started-with-ember-model )。
CAVEAT:不要与竞争解决方案 EmberData 混淆。Ember-model 是一个独立开发的替代方案。
ember.js - 如何从 Ember CLI 中的路由访问 Ember 模型
也许对我来说,使用所有代码都位于 app.js 中的常规 Ember 应用程序执行此操作会容易得多。但由于我使用的是 Ember CLI,我无法在我的 Route 中访问我的模型。我仍在尝试学习如何使用 Ember CLI,所以请帮助我。
因为我只想触发 AJAX 调用并让数据在我的 UI 上呈现,所以我下载了 Ember 模型库并将其添加到我的项目中。我认为不需要使用 Ember Data。这是我指的 Ember 模型文档:https ://github.com/ebryn/ember-model#example-usage 。话虽如此,这是 Ember CLI 提出的我的目录结构:
这是对实际项目结构的更简单的表示,我只需要关注这个问题。正如 Ember 模型文档中所建议的那样,我将以下代码添加到我的客户模型 (model\customers.js) 中:
请注意,我必须执行“导出默认值”而不是“App.Customers = Ember.Model.extend...”。这是 Ember CLI 约定。因此,当我尝试访问在客户路线中创建的模型时,我收到错误“加载路线时出错:ReferenceError:未定义应用程序”..
客户路线代码:
我试过 this.model() - 返回 supperWrapper 类型的对象和 this.modelFor() - 返回 null。
请建议如何在其路由中获取我的模型的句柄,以便我可以执行 Ember Model 提供的开箱即用的 CRUD 操作。
谢谢!
ember.js - Ember.js ebryn/ember-model Model.find() 和 Model.fetch() 之间的区别
早上好,
为什么有两种方法,返回几乎相同的结果。
我知道“仅”,方法 Method.fetch() 返回一个承诺。
这两种方法的主要区别是什么?
rest - Ember 模型 RESTAdapter 嵌套端点
我正在使用 Ember 1.5 构建 Web 应用程序,并使用 Ember 模型 0.0.11 将应用程序链接到 API。我目前无法让 Ember 模型使用嵌套的 API 端点。
例如,我的应用程序有一个User
模型,它hasMany
与模型有关系Post
。现在,当我想为某个用户加载帖子时,我想要Post.findQuery('user_id', {user_id});
访问GET /users/{user_id}/posts
端点的方法。相反,Ember 模型解决方案似乎更喜欢将查询作为参数发送到GET /posts
端点。
Ember ModelRESTAdapter
确实允许轻松定制,但在我开始编写完全定制的代码之前,RESTAdapter
我很想知道是否有人已经这样做了,以及他们是如何解决问题的。
javascript - 通过 hasMany 关系访问 ember-model 对象中的相关集合
我可能从根本上误解了如何在 Ember/ember-model 中使用 hasMany 关系。
ember-model自述文件有以下示例
大概,一个人会做以下事情
鉴于上述情况,现在我们可以post
通过 get (ie post.get('title')
) 访问各种道具,但我如何访问评论?
post.get('comments')
返回一个对象,但它不是 App.Comment 对象的集合,这是我所期望的。
提前感谢您的任何帮助。