Sencha touch 无法调用方法';添加';未定义的
我一直在尝试在sencha touch 2.1.1中制作一个动态carousal,它从wordpress json数据中获取图像。。 但是,当我调用存储区中的load listener时,它会给出错误。 我在另一个演示sencha应用程序上尝到了这个,它在那里工作得很好,但当我在这里添加它时,它显示了错误Sencha touch 无法调用方法';添加';未定义的,sencha-touch,sencha-touch-2.1,Sencha Touch,Sencha Touch 2.1,我一直在尝试在sencha touch 2.1.1中制作一个动态carousal,它从wordpress json数据中获取图像。。 但是,当我调用存储区中的load listener时,它会给出错误。 我在另一个演示sencha应用程序上尝到了这个,它在那里工作得很好,但当我在这里添加它时,它显示了错误 Uncaught TypeError: Cannot call method 'add' of undefined 我在这里共享我的视图、模型和存储文件 Ext.define('Fluge
Uncaught TypeError: Cannot call method 'add' of undefined
我在这里共享我的视图、模型和存储文件
Ext.define('Flugelsoft.view.Portfolio', {
extend:'Ext.Container' ,
xtype: 'portfolio',
fullscreen: true,
//store:'Portfolios',
requires: ['Flugelsoft.store.Portfolios', 'Ext.dataview.List', 'Ext.Img','Ext.carousel.Carousel'],
config: {
layout: {
type: 'fit'
},
items: [
{
xtype: "carousel",
id: 'carouselid'
}
]
}
});
store.js文件
var token=localStorage.getItem("access_token");
Ext.define("Flugelsoft.store.Portfolios", {
extend: "Ext.data.Store",
requires: ["Ext.data.proxy.JsonP"],
config: {
model: "Flugelsoft.model.Portfolio",
autoLoad: true,
proxy: {
type: 'jsonp',
url: 'http://www.flugelsoft.net/?json=get_category_posts&category_id=2&access_token='+token,
reader: {
type: 'json',
rootProperty: 'posts'
}
},
}
});
var newPanel = Ext.create('Flugelsoft.store.Portfolios', {
listeners:{
load: function( me, records, successful, operation, eOpts ){
console.log("data loaded", records);
myCarousel = Ext.getCmp('carouselid');
for(var i=0; i<records.length; i++){
//THE ERROR IS GENERATING IN THIS LINE myCarousal.add
myCarousel.add({
xtype: 'image',
src: records[i].get('thumbnail')
});
}
}
}
});
提前感谢您首先,在调用
Ext.getCmp('carouselid')之前,您应该在视口中添加Portfolio
视图代码>
型号
Ext.define('GoodNews.model.Portfolio',{
extend:'Ext.data.Model',
config:{
fields: [{name: 'title', type: 'string'},
{name: 'content', type: 'string'},
{name:'thumbnail',type:'string'}]
//thumbnail should be url for accessing picture from the server
}
});
商店
Ext.define("GoodNews.store.Portfolios", {
extend: "Ext.data.Store",
requires: ["Ext.data.proxy.JsonP"],
config: {
model: "GoodNews.model.Portfolio",
autoLoad: true,
proxy: {
type: 'jsonp',
url: 'http://www.flugelsoft.net/?json=get_category_posts&category_id=2&access_token='+token,
reader: {
type: 'json',
rootProperty: 'posts'
}
},
}
});
添加投资组合
Ext.Viewport.add({xtype : 'portfolio'});
var newPanel = Ext.create('GoodNews.store.Portfolios', {
listeners:{
load: function( me, records, successful, operation, eOpts ){
console.log("data loaded", records);
myCarousel = Ext.getCmp('carouselid');
for(var i=0; i<records.length; i++){
myCarousel.add({
xtype: 'image',
src: records[i].get('thumbnail')
});
}
}
}
});
Ext.Viewport.add({xtype:'portfolio'});
var newPanel=Ext.create('GoodNews.store.portfolions',{
听众:{
加载:函数(me、记录、成功、操作、eOpts){
console.log(“数据加载”,记录);
myCarousel=Ext.getCmp('carouselid');
对于(var i=0;i:在执行您的步骤后,它会显示此错误{Uncaught error:[Ext.createByAlias]无法创建无法识别的别名的实例:widget.portfolio}@user2226699是否在app.js views数组中添加了公文包视图?@user2226699该错误意味着..sencha无法找到公文包视图..发布创建公文包视图的代码(您得到的线路错误)
Ext.Viewport.add({xtype : 'portfolio'});
var newPanel = Ext.create('GoodNews.store.Portfolios', {
listeners:{
load: function( me, records, successful, operation, eOpts ){
console.log("data loaded", records);
myCarousel = Ext.getCmp('carouselid');
for(var i=0; i<records.length; i++){
myCarousel.add({
xtype: 'image',
src: records[i].get('thumbnail')
});
}
}
}
});