Ember事件处理程序中缺少view.conf或templateContext
Missing view.context or templateContext in an Ember event handler
我试图将填充视图的对象推送到数组中,但引用不知何故丢失了。我有一个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);
}
})
})
该视图使用#each
辅助对象渲染一组按钮,这些按钮使用来自ProductsController
中对象的属性进行渲染。那部分效果很好。当我点击其中任何一个按钮时,点击事件就会启动,并执行我要求的任何操作,包括成功调用我从ProductsController
:中指定的处理程序函数(toggleProductToCustomer
)
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,但效果并不好。当我尝试console.log从这些函数中插入按钮的view
对象时,我得到了我所期望的:
<(subclass of FrontLine.NewProductButton):ember623>
但无论是view.context
还是view.templateContext
都返回undefined
。如何访问我要访问的对象,以便将其添加到我的数组中?
简单的答案是一个字母的差异:
view.content
或:
view.get('content')
在该特定情况下提供源对象,而不是view.context
。
(到目前为止,我对Ember唯一真正的挑战是,对象和属性的访问器因情况而异,而且没有真正的文档。有时对象在view.conf,有时在view.content,有时_parentView.content等。如果有一张图表,里面有无数不同的语法来访问相同的数据,那就太棒了,这取决于你要通过哪个特定的光圈来获取数据。我还在发现它们…)
- 谷歌地图API v3:Initial View is Fine,but Gray Box with No Map if
- 如何检查Backbone.View当前是否在DOM中呈现
- 对checkbox的更改事件使用jquery.conf函数
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 如何在javascript中添加带有回调函数的按钮点击事件作为window.conf
- 将View中的项添加到数组中(主干.js)
- 将Backbone.View重新注入DOM,保留事件而不是创建新事件
- 如何为通过ng-view指令或ng-controller指令创建的每个新作用域设置侦听器
- Composer-view.js文件出错
- Ember.js/HHandlebars:使用{{view}}助手渲染的视图不绑定属性
- 如何在asp.net MVC中从View获取值到JavaScript
- 不能从 Backbone.View 的方法调用 Backbone.collection 的方法,其中包含 require
- 如何将 dojox.mobile.View 设置为 100% 的高度
- 在呈现 Ext.view.View 后调用函数
- 如何在Express JS中使用Bliss View Engine而不是Jade
- ng-view 中的脚本在从文件引用时不起作用(JQuery 在角度之前加载)
- 如何在启动 Web 驱动程序实例之前通过命令行在 conf.js 中传递设备名称
- 如何在 NativeScript 中获取对 self.view 和 self.view.frame 的引用
- Backbone.View not responding to Backbone.UI
- Ember事件处理程序中缺少view.conf或templateContext