列表是't在sencha触摸面板中加载
list isn't loading in panel in sencha touch
我正试图在Panel
中加载List
,但收到以下错误
Uncaught TypeError: Cannot call method 'substring' of undefined
这是我的ProfileContainer.js
,它包含List
Ext.define('demo.view.ProfileContainer', {
extend: 'Ext.Panel',
xtype: 'profilecontainer',
// requires: [ 'Ext.TitleBar', 'demo.view.ProfileList' ],
requires: [ 'Ext.TitleBar' ],
config: {
items: [{
xtype: 'titlebar',
title: 'demo',
cls: 'bms-bg'
}, {
xtype: 'profilelist'
}]
}
});
这是ProfileList.js
的代码
Ext.define('demo.view.ProfileList', {
extend: 'Ext.dataview.List',
alias: 'widget.profilelist',
requires: ['demo.store.ProfileStore'],
config: {
store: 'ProfileStore',
itemTpl: '{name}',
}
});
这是我的ProfileStore.js
Ext.define('demo.store.ProfileStore',{
extend:'Ext.data.Store',
config: {
model: 'demo.model.ProfileModel',
data:[
{ name: 'John Rambo' },
{ name: 'Brad Pitt'}
]
}
});
和ProfileModel.js
Ext.define('demo.model.ProfileModel', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'name', type: 'string' }
]
}
});
但我的列表没有加载到面板中,我得到了上面提到的错误
x类型别名定义为widget
因此,您需要将它们定义为:
alias:'widget.profilecontainer',
或
alias:'widget.profilelist',
关于require
和uses
的一些信息:
类之间存在依赖关系,需要解决这些依赖关系。这通常是由构建工具完成的,或者如果你不自己运行它的话。
依赖关系是使用require
或uses
的原因之一,其中require
可以被威胁为严格,因为它确保类在获得所需后立即存在
这里有一个区别:因为如果你懒惰加载,这是无效的。此时,所需的课程将在类。构建工具将清理所需的位置类定义之前的类
而CCD_ 14可以被视为lose,因为它只确保在调用CCD_。
通常情况下,这不会让你头疼,但如果类定义要求在定义时解决依赖关系,那么当加载lacy时,它就会崩溃。如果您现在是导致这种情况的依赖项(xtype),您可以尝试使用手动加载它
Ext.require('class');
需要将其放置在类定义之前。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 如何在画布上绘制(使用鼠标/触摸)、保存绘制的对象、存储、加载和操作
- 加载商店数据以动态构建表单 煎茶触摸2.
- 页面加载时是否可以触发触摸事件(在加载功能中)
- 在煎茶触摸2中加载掩码
- 加载应用程序.js在设备中准备好煎茶触摸科尔多瓦应用程序
- 煎茶触摸 单击时加载不同的视图
- 煎茶触摸 JSON 加载到本地存储不起作用
- 重新初始化煎茶触摸应用程序,而不执行页面重新加载
- “预加载”苹果触摸预组合图标,然后再添加到主屏幕
- 煎茶触摸应用程序加载程序不断闪烁
- 列表是't在sencha触摸面板中加载
- Sebcha触摸选择字段加载问题
- 在Cocoa Touch Webview开始加载之前验证用户触摸链接
- Sencha触摸应用加载掩码
- 有条件地加载JS脚本的桌面PC(非触摸设备),只有一定的宽度
- 谷歌地图瓦片只有在触摸设备上触发拖动时才会加载