0

我正在尝试从控制器中检索底层模型对象,以便可以持久保存它(我没有使用 ember-data)。显而易见的方法就是:

controller.get('content');

但这不起作用。问题可以总结如下:

controller.set("content", model);

按预期设置内容,此时

controller.get('content');

按预期工作。但是,如果我然后用其他属性装饰控制器,例如。

controller.set('IamNotPartOfTheModel', false);

然后突然“内容”包含了这个新属性。我希望内容保持不变,并且新属性仅应用于控制器本身。我知道控制器是模型的代理,所以在大多数情况下,它们被视为一个并且相同,但在需要时它们肯定仍然应该是可分离的吗?这种模式的重点是将应该存储的数据与只是临时的数据分开。我错过了什么吗?

4

2 回答 2

0

您的控制器需要连接到某种模型。除非通过某种对象引用,否则您无法将持久模型与控制器分开。即使您不使用 ember-data,您仍然需要创建然后插入控制器内容的对象。查看Evil Trout 的博客,了解没有 ember-data 的 ember 实现。这是一个很好的起点。

于 2013-06-14T09:26:29.183 回答
0

要让您的显示特定属性脱离模型,只需在控制器中明确指定它们......否则控制器充当其模型的代理......只需在控制器中拥有属性“iamNotPartOfTheModel”

   App.IndexController = Ember.ObjectController.extend({
     iamNotPartOfTheModel: null
   })

样品小提琴在这里

于 2013-06-14T09:54:22.557 回答