Ember.js:将项添加到ArrayController而不先创建它?

时间:2014-05-01 15:31:03

标签: javascript ember.js

我一次又一次地被告知"永远不要在控制器/ ObjectController上使用.create(),因为Ember会为[me]"做这件事。我很困惑于如何在不首先创建它的情况下将项添加到ArrayController。

在我的情况下,我使用Controller(不是ObjectController)作为ArrayController的itemController,因为它没有AJAX加载的数据支持(...这是正确的用法吗?)。我想将我的itemController的一个实例添加到ArrayController中,但是如果没有先创建要添加的项目,我就无法弄清楚如何做到这一点。

JSBin在这里: http://emberjs.jsbin.com/momikuto/17/edit

TL; DR:我不知道如何在.create()函数中没有addPost的情况下将Post对象添加到ArrayController。

1 个答案:

答案 0 :(得分:1)

模型与控制器

我认为这里的主要困惑是模型和控制器之间。控制器可以decorate a model添加显示属性,但不是主数据对象。

模型可以是一个简单的JSON对象,也可以是完整的余烬数据。

所以,是的,Ember将为您创建控制器。并以某种方式为控制器指定模型(见下文)。

设置控制器数据

因此,在您的示例中,您尝试使用两个静态帖子id:1,id:2为您的控制器播种。与View相比,这可能是最好的done in the Route