我正在尝试使用 Sencha Touch 2 框架从模板创建面板,但遇到了一些麻烦。我想做的是显示 HTML 模板,然后在下面显示一个按钮 - 使用 HTML 而不是模板的示例是:
Ext.define('GS.view.Home', {
extend: 'Ext.Panel',
config: {
title: 'Home',
items: [
{
xtype: 'panel',
html: [
'<img src="resources/images/someImage.gif"/>',
'<h1>A Header</h1>',
"<p>some text</p>"
].join("")
},
{
xtype: 'button',
text: 'Click Me',
ui: 'forward'
}
]
}
});
渲染时看起来像这样:
我想做的是使用模板加载面板,但下面仍然有一个按钮。我的代码目前看起来像这样:
var tpl = new Ext.XTemplate(
'<img src="resources/images/someImage.gif"/>',
'<h1>A Header</h1>',
'<p>some text</p>',
{
// XTemplate configuration:
compiled: true
}
);
Ext.define('GS.view.Home', {
extend: 'Ext.Panel',
xtype: 'home',
config: {
title: 'Home',
tpl: tpl,
data: [],
items: [
{
xtype: 'button',
text: 'Click Me',
ui: 'forward'
}
]
}
});
但这会导致按钮被放置在模板 HTML 之上:
我还尝试将面板添加到 items 数组,并将 tpl 值设置为模板,但这会导致根本没有呈现 HTML。
任何人都知道我如何使用模板但底部仍然有一个按钮?如果您的答案只是在模板 html 中包含一个具有正确类名的按钮,那么如何将它链接回控制器?(我通常会使用 itemId 配置属性)。
干杯,
詹姆士