Can.Model:从普通对象创建模型实例

Can.Model: creating model instances from plain objects

我有一个 can.Model,其中定义了 findOne、findAll 方法。然而,有时需要从普通对象创建模型实例,例如在初始页面加载期间,这些对象在 html 中作为全局变量引导。

问题是这些实例没有与存储在 can.Model.store 对象中的实例合并。此外,在定义 id 属性时,它们不会存储在那里。这是预期的行为吗?创建在 html 中引导的模型实例作为变量的正确模式是什么?

只有绑定到(例如在页面上显示数据)的模型才会添加到商店。该商店仅用于保留这些模型。如果没有人在监听模型更改,则无需存储它们(事实上,它会造成内存泄漏)。 你可以这样验证:

var model = new MyModel({ name: 'David' });

model.bind('change', function() {});