我正在尝试将填充视图的对象推送到数组中,但引用不知何故丢失了。我有一个 Ember 视图,其中定义了eventManager
:
FrontLine.NewProductButton = Em.View.extend({
tagName: 'button',
classNames: ['addtl_product',],
templateName: 'product-button',
eventManager: Ember.Object.create({
click: function(event, view) {
FrontLine.ProductsController.toggleProductToCustomer(event, view);
}
})
})
该视图呈现了一堆按钮,这些按钮使用来自ProductsController
使用#each
帮助器的对象的属性呈现。那部分效果很好。当我点击这些按钮中的任何一个时,点击事件正在触发并执行我要求的任何操作,包括成功调用toggleProductToCustomer
我从我指定的处理程序函数()ProductsController
:
FrontLine.ProductsController = Em.ArrayController.create({
content: [],
newProduct: function(productLiteral) {
this.pushObject(productLiteral);
},
toggleProductToCustomer: function(event, view){
FrontLine.CustomersController.currentCustomer.productSetAdditional.pushObject(view.context);
}
});
我正在尝试使用该函数将其属性填充该视图的对象推送到数组中。我的应用程序中的另一个地方(一个简单的搜索字段),使用pushObject(view.context)
. 然而,在这里,所有被推入数组的是undefined
. 我尝试改用view.templateContext,但这并没有更好的效果。当我尝试从这些函数中控制台记录按钮的view
对象时,我得到了我所期望的:
<(subclass of FrontLine.NewProductButton):ember623>
但要么view.context
或view.templateContext
返回undefined
。如何访问我所追求的对象,以便将其添加到我的数组中?