使用循环创建一个简单的Sencha组件
Creating a simple Sencha component using a loop
如何在Sencha ExtJS中使用for循环替换硬编码数据?例如,我定义了以下列表:
Ext.application({
launch: function() {
Ext.create('Ext.List', {
fullscreen: true,
itemTpl: '{title}',
data: [{
title: 'Item 1'
}, {
title: 'Item 2'
}, {
title: 'Item 3'
}, {
title: 'Item 4'
}]
});
}
});
如何将数据替换为如下内容:
Ext.application({
launch: function() {
Ext.create('Ext.List', {
fullscreen: true,
itemTpl: '{title}',
data: [
for(int i=0;i<5;i++){
{title: 'Item '+i},
}
]
});
}
});
这些都是非常基础的东西——我建议您在投入时间学习框架之前先熟悉一下基本的语言结构。有几种方法可以做到这一点…
参见:MDN: A reintroduction to Javascript
最简单的方法 , 首先创建您的配置数据并将其分配给变量:
Ext.application({
launch: function() {
var listData = [];
for(var i=0;i<5;i++)
listData.push({title: 'Item '+i});
Ext.create('Ext.List', {
// ...
data: listData
});
}
});
…或者当你在全局执行范围内,你不想用不必要的变量污染 window
对象时——或者只是在"一行程序"上有一个OCD——你可以利用内联函数/闭包:
Ext.create('Ext.List', {
// ...
data: (function(){
var data = [];
for(var i=0;i<5;i++)
data.push({title: 'Item '+i});
return data;
})()
});
…或者有时我用下面的字体,因为我觉得这样看起来更整洁(但这是主观的):
Ext.create('Ext.List', {
// ...
data: Ext.Array.map(Array.apply(null, Array(5)), function(o,i){
return {title: 'Item '+i};
})
});
相关文章:
- Moment/Jquery-一个简单时间线的愚蠢问题
- 问题用moment JS制作一个简单的时间表
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 测试一个简单的javascript按钮
- 用Jquery map和moment js制作一个简单的时间线
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 是否有一个javascript库来解析简单的查询
- 一个简单的粘性头jQuery脚本的问题
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- Sencha Touch使一个简单的按钮工作
- 正在寻找一个非常简单的例子UpdateListItems与Sharepoint2007的SPservices
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- 如何在Javascript中定义一个简单的自动重启倒计时
- 如何使一个简单的HTML文件成为wordpress中可用的页面
- 如何用D3添加一个简单的圆弧
- angularjs做一个简单的倒计时
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- 创建一个简单的处理 p5.js 库