使用普通的Javascript对象作为Ember模型

Use plain Javascript object as Ember model

本文关键字:Ember 模型 对象 Javascript      更新时间:2023-09-26

是否可以在EmberJS中使用普通JS对象(例如文字对象(作为模型?

我在文档中看到的所有示例都使用 Ember.Object(或数据存储(

假设我可能不会使用普通 JS 获得可观察等东西。但至少支持吗?

这将不能可靠地工作。模板,例如

{{model.prop}}

通过将观察者放在'model.prop'上来操作。这可能在某些情况下有效,但在其他情况下无效,或者您可能会收到奇怪的 Ember 消息。

在 Ember

的所有方面中,最基本的是 Ember 对象模型。从本质上讲,整个框架都基于此模型,并使用它来管理对象以及检索和设置属性。购买 Ember 后,您就购买了使用此对象模型,该模型基于老式经典继承。

出现问题的常见情况是服务器 API 返回一个普通的旧 JS 对象作为模型属性的值。然后,您需要在该对象内部进行挖掘,或在模板中显示其属性。在这种情况下,最好将对象转换为 Ember 对象(您可以使用转换来做到这一点;谷歌,你会发现有人这样做(;或者,使用嵌入式模型,这并非易事,并且可能需要服务器端更改(例如在嵌入式模型中包含一个 ID,尽管理论上您可以在适配器中添加一个 ID(。后者是我所做的,最终结果是几乎保持了我的理智。