Sencha touch 2 Sencha Touch 2-从控制器到视图的传递值为;“未定义”;
我将视图中筛选器存储的值从控制器传递到视图。控制器中的值未定义 我的控制器:Sencha touch 2 Sencha Touch 2-从控制器到视图的传递值为;“未定义”;,sencha-touch-2,Sencha Touch 2,我将视图中筛选器存储的值从控制器传递到视图。控制器中的值未定义 我的控制器: showCatQuery: function(list,index,element,record){ var catid = record.get('id'); << Value to pass this.getNavigation().push({ xtype: 'panel', title: 'A',
showCatQuery: function(list,index,element,record){
var catid = record.get('id'); << Value to pass
this.getNavigation().push({
xtype: 'panel',
title: 'A',
scrollable: true,
styleHtmlContent: true,
catid: catid,
layout: {
type: 'fit'
},
items: [
{
xtype: 'showSearchCategory',
}
]
});
}
Ext.define('Catalog.view.showSearchCategory', {
extend: 'Ext.navigation.View',
xtype: 'showSearchCategory',
requires: ['Ext.data.Store'],
config: {
navigationBar: false,
items: [
{
title: "All Apps",
xtype: 'list',
// id:'Applist',
itemTpl: new Ext.XTemplate(
'<img src="http://127.0.0.1:3000/system/appinfos/appicons/000/000/{id}/original/{appicon_file_name}" width="50" heigh="50" style="float:left;clear:both;"></img>',
'<div style="margin-left: 60px;word-wrap: break-word;width:80%;">',
'<span style="font-size:16px;">{name}</span><br>',
// '<tpl for="categories">',
'<span style="font-size:13px;color:#7C7C7C;" id="catname">{categoryname}</span>',
'</div>'
// '</tpl>'
),
store: {
autoLoad: true,
storeId: 'allapp',
fields: ['id','name','created_at','appicon_file_name','categoryid','categoryname','url_ios','url_android','gallery','description'],
sorters: [{
property:'created_at',
direction:'DESC'
}],
proxy: {
type: 'jsonp',
url: 'http://127.0.0.1:3000/appinfos.json',
reader:{
type: 'json',
rootProperty:'appinfos'
}
}
}
}
]
},
initialize: function() {
this.callParent(arguments);
console.log(this.getCatid());
var sto = Ext.getStore('allapp');
sto.clearFilter();
sto.filter('categoryid', this.config.catid);
}
});
我输入的代码不是错误。但值是未定义的
代码哪里错了
查看完整代码:
showCatQuery: function(list,index,element,record){
var catid = record.get('id'); << Value to pass
this.getNavigation().push({
xtype: 'panel',
title: 'A',
scrollable: true,
styleHtmlContent: true,
catid: catid,
layout: {
type: 'fit'
},
items: [
{
xtype: 'showSearchCategory',
}
]
});
}
Ext.define('Catalog.view.showSearchCategory', {
extend: 'Ext.navigation.View',
xtype: 'showSearchCategory',
requires: ['Ext.data.Store'],
config: {
navigationBar: false,
items: [
{
title: "All Apps",
xtype: 'list',
// id:'Applist',
itemTpl: new Ext.XTemplate(
'<img src="http://127.0.0.1:3000/system/appinfos/appicons/000/000/{id}/original/{appicon_file_name}" width="50" heigh="50" style="float:left;clear:both;"></img>',
'<div style="margin-left: 60px;word-wrap: break-word;width:80%;">',
'<span style="font-size:16px;">{name}</span><br>',
// '<tpl for="categories">',
'<span style="font-size:13px;color:#7C7C7C;" id="catname">{categoryname}</span>',
'</div>'
// '</tpl>'
),
store: {
autoLoad: true,
storeId: 'allapp',
fields: ['id','name','created_at','appicon_file_name','categoryid','categoryname','url_ios','url_android','gallery','description'],
sorters: [{
property:'created_at',
direction:'DESC'
}],
proxy: {
type: 'jsonp',
url: 'http://127.0.0.1:3000/appinfos.json',
reader:{
type: 'json',
rootProperty:'appinfos'
}
}
}
}
]
},
initialize: function() {
this.callParent(arguments);
console.log(this.getCatid());
var sto = Ext.getStore('allapp');
sto.clearFilter();
sto.filter('categoryid', this.config.catid);
}
});
Ext.define('Catalog.view.showSearchCategory'{
扩展:“Ext.navigation.View”,
xtype:“showSearchCategory”,
需要:['Ext.data.Store'],
配置:{
导航栏:错误,
项目:[
{
标题:“所有应用程序”,
xtype:'列表',
//id:“应用程序列表”,
itemTpl:new Ext.XTemplate(
'',
'',
“{name}
”,
// '',
“{categoryname}”,
''
// ''
),
商店:{
自动加载:对,
storeId:'阿拉普',
字段:['id'、'name'、'created_at'、'appicon_file_name'、'categoryid'、'categoryname'、'url_ios'、'url_android'、'gallery'、'description'],
分拣机:[{
属性:'created_at',
方向:'DESC'
}],
代理:{
键入:“jsonp”,
网址:'http://127.0.0.1:3000/appinfos.json',
读者:{
键入:“json”,
rootProperty:'appinfos'
}
}
}
}
]
},
初始化:函数(){
this.callParent(参数);
log(this.getCatid());
var sto=Ext.getStore('allapp');
sto.clearFilter();
sto.filter('categoryid',this.config.catid);
}
});
更新 我的控制器代码:
Ext.define('Catalog.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
homepanel: 'homepanel',
but: 'homepanel #category',
categoryButton: 'button[action=Categories]',
list:'list',
homepanellist: 'homepanel #Applist',
navigationlist: 'navigation #Catlist',
navigation: 'navigation'
},
control: {
homepanellist:{
itemtap: 'showApp'
},
categoryButton:{
tap: 'showCat'
},
homepanel: {
back: 'backButtonHandler'
},
navigationlist:{
itemtap: 'showCatQuery'
},
navigation:{
back: 'backButtonNav'
}
}
},
//called when the Application is launched, remove if not needed
showApp: function(list,index,element,record) {
Ext.getCmp('category').hide();
// this.getBut().setHidden(true);
var Catname = Ext.get('catname').dom.innerHTML;
var butDown = '';
var gal = record.get('gallery');
var items2 = [];
if(gal.length > 0){
for(var i = 0; i < gal.length;i++){
items2.push({
html:'<center><img style="margin-top:10px;" src="http://127.0.0.1:3000/system/gallery_apps/imgs/000/000/'+gal[i].id+'/original/'+gal[i].img_file_name+'" width="200" height="300"></center>'
})
}
}
// Check OS Mobile
if(Ext.os.name == "iOS"){
butDown = "<div style='float:right;position: relative;top: -20px;'><a href='"+record.get('url_ios')+"'><img src='touch/resources/images/d_ios.png' style='width: 100px;float: right;margin-top: -15px;'></a></div>";
}else{
butDown = "<div style='float:right;position: relative;top: -20px;'><a href='"+record.get('url_android')+"'><img src='touch/resources/images/d_and.png' style='width: 100px;float: right;margin-top: -15px;'></a></div>";
}
// Check OS Mobile
this.getHomepanel().push({
xtype: 'panel',
title: 'info',
scrollable: true,
styleHtmlContent: true,
layout: {
type: 'vbox'
},
items: [
{
xtype: 'panel',
style: 'margin-left: -1.2em;margin-right: -1.2em;margin-top: -1.2em;',
height:100,
html: '<div style="width: 100%;height: 100px;padding: 1.2em;border-bottom:2px ridge #C5C7BC;">'+
'<div style="float:left;width:85px;">'+
'<img src="http://127.0.0.1:3000/system/appinfos/appicons/000/000/'+record.get('id')+'/original/'+record.get('appicon_file_name')+'" width="75" heigh="75"></img>'+
'</div>'+
'<div style="word-wrap: break-word;"><b><p style="font-size:15px;margin:0;">'+record.get('name')+'</p></b><p>'+Catname+'</p></div>'+
butDown+
'</div>'+
'<div style="clear:both;"></div>'
},
{
// xtype:'datascreen',
// data:record.data
xtype:'carousel',
direction: 'horizontal',
height:325,
style: 'margin-left: -1.2em;margin-right: -1.2em;background-color:#C0C0C0;box-shadow:inset 3px 3px 49px #fafafa;border-bottom:2px ridge #C5C7BC;',
listeners:
{
'afterrender': function(carousel) {
carousel.pageTurner = new Ext.util.DelayedTask(function() {
if (this.getActiveIndex() == this.items.length - 1) {
this.setActiveItem(0, 'slide');
}
else {
this.next();
}
this.pageTurner.delay(6000);
}, carousel);
carousel.pageTurner.delay(6000);
}
},
items: items2
},
{
xtype: 'panel',
style: 'margin-left: -1.2em;margin-right: -1.2em;',
html:
'<div style="width: 100%;padding: 1.2em;border-bottom:2px ridge #C5C7BC;">'+
'<h1 style="font-size:16px;font-weight:bold;color:black;">Description</h1>'+
'<div id="deS">'+
record.get('description')+
'</div>'+
'</div>'
}
]
});
},
backButtonHandler: function(button){
Ext.getCmp('category').show();
},
backButtonNav: function(button){
Ext.getCmp('category').hide();
},
showCat: function(btn){
Ext.getCmp('category').hide();
this.getHomepanel().push(
{
xtype: 'panel',
title: 'Categories',
scrollable: true,
styleHtmlContent: true,
layout: {
type: 'fit'
},
items: [
{
xtype: 'navigation'
}
]
}
);
// this.but().setHidden(true);
},
showCatQuery: function(list,index,element,record){
// var sto = Ext.getStore('myStore');
// sto.clearFilter();
// sto.filter('id', record.get('id'));
// console.log(record.get('id'));
var catid = record.get('id');
this.getNavigation().push({
xtype: 'panel',
title: 'A',
scrollable: true,
styleHtmlContent: true,
catid: catid,
layout: {
type: 'fit'
},
items: [
{
xtype: 'showSearchCategory',
}
]
});
}
});
Ext.define('Catalog.controller.Main'{
扩展:“Ext.app.Controller”,
配置:{
参考文献:{
homepanel:“homepanel”,
但是:“homepanel#category”,
categoryButton:“按钮[action=Categories]”,
列表:'list',
homepanel成员:“homepanel#Applist”,
导航列表:“导航#Catlist”,
导航:“导航”
},
控制:{
家庭小组成员:{
itemtap:“showApp”
},
类别按钮:{
点击:“showCat”
},
主页面板:{
back:“backButtonHandler”
},
导航列表:{
itemtap:“showCatQuery”
},
导航:{
back:“backButtonNav”
}
}
},
//启动应用程序时调用,如果不需要,请删除
showApp:函数(列表、索引、元素、记录){
Ext.getCmp('category').hide();
//this.getBut().setHidden(true);
var Catname=Ext.get('Catname').dom.innerHTML;
var Button=“”;
var gal=record.get('gallery');
var items2=[];
如果(加仑长度>0){
对于(变量i=0;i“+record.get('name')+”“+Catname+””+
布顿+
''+
''
},
{
//xtype:“数据屏幕”,
//数据:record.data
X类型:'carousel',
方向:'水平',
身高:325,
样式:“左边距:-1.2米;右边距:-1.2米;背景色:#C0C0C0C0;方框阴影:插入3px 3px 49px#fafafa;边框底部:2px脊线#C5C7BC;”,
听众:
{
“afterrender”:函数(旋转木马){
carousel.pageTurner=new Ext.util.DelayedTask(函数(){
if(this.getActiveIndex()==this.items.length-1){
此.setActiveItem(0,“幻灯片”);
}
否则{
这个。下一个();
}
本.页特纳.延迟(6000);
}(旋转木马);
传送带寻呼机延迟(6000);
}
},
项目:项目2
},
{
xtype:'面板',
样式:“左边距:-1.2米;右边距:-1.2米;”,
html:
''+
“说明”+
''+
record.get('description')+
''+
''
}
]
});
},
backButtonHandler:函数(按钮){
Ext.getCmp('category').show();
},
backButtonNav:功能(按钮){
Ext.getCmp('
Ext.define('Catalog.view.showSearchCategory', {
extend: 'Ext.navigation.View',
xtype: 'showSearchCategory',
requires: ['Ext.data.Store'],
config: {
catid: null,
navigationBar: false,
items: [
{
title: "All Apps",
xtype: 'list',
// id:'Applist',
itemTpl: new Ext.XTemplate(
'<img src="http://127.0.0.1:3000/system/appinfos/appicons/000/000/{id}/original/{appicon_file_name}" width="50" heigh="50" style="float:left;clear:both;"></img>',
'<div style="margin-left: 60px;word-wrap: break-word;width:80%;">',
'<span style="font-size:16px;">{name}</span><br>',
// '<tpl for="categories">',
'<span style="font-size:13px;color:#7C7C7C;" id="catname">{categoryname}</span>',
'</div>'
// '</tpl>'
),
store: {
autoLoad: true,
storeId: 'allapp',
fields: ['id','name','created_at','appicon_file_name','categoryid','categoryname','url_ios','url_android','gallery','description'],
sorters: [{
property:'created_at',
direction:'DESC'
}],
proxy: {
type: 'jsonp',
url: 'http://127.0.0.1:3000/appinfos.json',
reader:{
type: 'json',
rootProperty:'appinfos'
}
}
}
}
]
},
initialize: function() {
console.log(this.getCatid());
var sto = Ext.getStore('allapp');
sto.clearFilter();
sto.filter('categoryid', this.getCatid());
this.callParent(arguments);
}
});
showCatQuery: function(list,index,element,record){
var catid = record.get('id');
this.getNavigation().push({
xtype: 'panel',
title: 'A',
scrollable: true,
styleHtmlContent: true,
layout: {
type: 'fit'
},
items: [
{
xtype: 'showSearchCategory',
catid: catid
}
]
});
}