Model view controller Sencha Touch 2.0控制器参考属性不工作?
我想知道Sencha Touch类“Ext.app.Controller”的“refs”属性。 我看了一个视频教程,其中构建了一个简单的contactForm。否我已尝试为我的应用程序构建联系人表单,但出现错误:“未捕获类型错误:对象[Object Object]没有方法“getContactForm” 这是我的控制器Model view controller Sencha Touch 2.0控制器参考属性不工作?,model-view-controller,sencha-touch,sencha-touch-2,Model View Controller,Sencha Touch,Sencha Touch 2,我想知道Sencha Touch类“Ext.app.Controller”的“refs”属性。 我看了一个视频教程,其中构建了一个简单的contactForm。否我已尝试为我的应用程序构建联系人表单,但出现错误:“未捕获类型错误:对象[Object Object]没有方法“getContactForm” 这是我的控制器 Ext.define('MyFirstApp.controller.Main', { extend: 'Ext.app.Controller', views: ['Viewpo
Ext.define('MyFirstApp.controller.Main', {
extend: 'Ext.app.Controller',
views: ['Viewport', 'Home'],
refs: [
{
ref: 'contactForm',
selector: '#contactForm'
}
],
init: function() {
this.control({
'button[action=submitContact]': {
tap: 'submitContactForm'
}
});
},
submitContactForm: function() {
var form = this.getContactForm();
form.submit({
url: 'contact.php'
});
}
}))
我猜“refs”有问题,在视频中,guy说“getContactForm”方法将被创建,因为“contactForm”的“ref”属性,但它没有。我做错了什么?谢谢你的帮助 看起来您可能配置了错误的参考。下面是一个简单的控制器:
Ext.define('App.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
main: 'mainpanel'
}
}
});
mainpanel
是一个xtype
或者可以是一个css选择器,main
将为您提供getMain()
,就像视频中讨论的那样。我同意jeremygerrits,我不能确定这是定义ref的正确语法
基于这一点,我宁愿这样做:
Ext.define('MyFirstApp.controller.Main'{
扩展:“Ext.app.Controller”,
视图:[“视口”、“主视图”],
配置:{
参考文献:{
contactForm:“#contactForm”
}
}
init:function(){
这是我的控制({
'按钮[action=submitContact]':{
点击:“submitContactForm”
}
});
},
submitContactForm:函数(){
var form=this.getContactForm();
提交表格({
url:'contact.php'
});
}
});
另请参见:refs属性属性已从Sencha Touch 2.0开发者预览版更改为beta/最终版。所以,您所写的对于dev预览是正确的,但目前它只是名称-值对。对于您的情况:
refs: {
contactForm: '#contactForm'
}