我正在使用MVC架构使用ExtJS 4制作应用程序。我有一个模型(用户)与代理,商店(用户)和控制器。
控制器侦听“添加用户”按钮,该按钮从表单接收数据。 我创建了一个新用户并传入数据:
var newUser = new MY.model.User({name: textInputValue}); //bob
然后致电
newUser.save({
success: function() { ... },
failure: function() { ... }
});
我是否使用回调,即使save()函数参数为空,我也会收到以下错误:
record is undefined:
me.set(record.data);
在第972行的... / ext-4.0.1 / src / data / Model.js中抛出。
运行堆栈跟踪显示:
operation = Ext.create('Ext.data.Operation', options);
第968行(上面提到的同一个Model.js文件)的返回一个包含记录的对象,其中包含我传递的数据。
这里有两个问题:
非常感谢任何帮助。
答案 0 :(得分:0)
首先我建议您upgrade to the latest version 4.0.2a,以便获得最新的错误修复。
Ext JS有自己的类系统,因此您无法使用new
关键字实例化基于Ext的类。始终使用Ext.create
从Ext JS实例化一个新类,并仅将new
用于基于原型的类。
对于模型,您可以通过模型管理器创建新实例:
var user = Ext.ModelManager.create({
name : 'Bob'
}, 'User');