【问题标题】:Using Breez.js with Ember.js将 Breez.js 与 Ember.js 一起使用
【发布时间】:2015-10-27 13:06:56
【问题描述】:

这更像是一个探索问题。 我们已经在项目中使用了一阵微风.js,并且对它非常满意;它与我们已经知道和使用的概念(更改跟踪、元数据、后端不可知...)很好地联系在一起

现在我们正在评估将前端从主干/牵线木偶/敲除堆栈移动到 ember.js 的可能性(这似乎是一个完整的框架,而不是“只选择你需要的”方法在骨干中)。我们正在探索继续使用微风.js 作为我们在客户端的数据管理层的可能性。

但是从服务器返回的模型(服务器堆栈:node.js + mongoDB)如何与 ember.js 定义的模型进行集成呢?

典型的 ember 模型定义可能是:

var Person = Ember.Object.extend({
    Property1: 'foo',
    Property2: 'bar'
});

您可以在其中看到扩展名“Ember.Object.extend

Breeze.js 在从服务器接收数据时附加一个 AspectEntity 到它们(如果定义了 Knockout,则将属性包装在 observables 中)。返回的对象如何以某种方式“转换”为 ember.js 对象?

也许我们处理这个问题的方式以及我们思考这种整合的方式是完全错误的,或者我们应该完全拒绝这种“余烬微风”组合。从谷歌搜索中,我们没有发现微风与 ember.js 或一些指导一起使用的案例。这就是我们来到 stackoverflow 社区的原因:这可能吗?展望未来可能存在哪些陷阱?

【问题讨论】:

  • 如果属性名称匹配,您可以使用Person.create(someJson) 创建一个新人。

标签: ember.js breeze


【解决方案1】:

现有解决方案的方式似乎并不多。 Breeze.js User Voice 有一些 2 年前的问题,但从未引起太大关注;该库的支持似乎并不迫在眉睫。

我建议探索 Ember-Data 作为您的数据管理层。它支持您提到的许多(如果不是全部)概念,并且是 Ember 应用程序的默认推荐数据库。

也就是说,就尝试使 Breeze.js 工作而言,您可能可以使用从 Breeze 返回的对象并使用 Ember.Object.create 将它们转换为 Ember.Objects,但您必须在它们之间构建一个层Breeze 和 Ember 本质上在 Breeze 对象和 Ember 对象之间双向序列化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多