ExtJS-6 数据视图扩展问题
ExtJS-6 Dataview Extension Issue
我扩展了 view.View 以隔离从商店触发的一些事件(代码位于 https://fiddle.sencha.com/#fiddle/1777)
我遇到的问题是,当添加记录时,它应该触发一个自定义事件供控制器接收;但是,我在控制台中收到错误消息
TypeError: owner.up is not a function
我在这一点上有点陷入僵局,因为我试图调试这个问题,我唯一能想到的是错误发生在:
this.fireEventArgs('added',[...]);
在globals.AltStdViewclass。有人可以告诉我我做错了什么吗?谢谢!!
首先,me.getView.dataView.store.add(record);
是错误的。 getView
应该是一种方法。
其次,added
已经是组件框架使用的事件。你应该选择一个不同的名字。
这里有几个问题,
- 正如@Evan 提到的,me.getView 是一个函数。所以应该是me.getView().
- 您正在触发 "added" 事件,该事件实际上是 DataView 的内置事件,因此添加事件的侦听器会抛出错误,因为事件参数不同。所以我将活动重命名为 'recordadded'
应用上述修复后,下面是工作 fiddle。
https://fiddle.sencha.com/#fiddle/177v
我扩展了 view.View 以隔离从商店触发的一些事件(代码位于 https://fiddle.sencha.com/#fiddle/1777)
我遇到的问题是,当添加记录时,它应该触发一个自定义事件供控制器接收;但是,我在控制台中收到错误消息
TypeError: owner.up is not a function
我在这一点上有点陷入僵局,因为我试图调试这个问题,我唯一能想到的是错误发生在:
this.fireEventArgs('added',[...]);
在globals.AltStdViewclass。有人可以告诉我我做错了什么吗?谢谢!!
首先,me.getView.dataView.store.add(record);
是错误的。 getView
应该是一种方法。
其次,added
已经是组件框架使用的事件。你应该选择一个不同的名字。
这里有几个问题,
- 正如@Evan 提到的,me.getView 是一个函数。所以应该是me.getView().
- 您正在触发 "added" 事件,该事件实际上是 DataView 的内置事件,因此添加事件的侦听器会抛出错误,因为事件参数不同。所以我将活动重命名为 'recordadded'
应用上述修复后,下面是工作 fiddle。 https://fiddle.sencha.com/#fiddle/177v