我在项目中使用Sencha Architect 3,我的ComboBox中有一个XTemplate。我想在其中使用一个功能,这一切都很好,直到我想在我的功能中使用组合框。我在这里阅读:http://www.sencha.com/forum/showthread.php?157022-scope-in-XTemplate-function,我可以改变函数的范围,这就是我所需要的。
我的问题是,我无法在Architect中设置范围。有没有办法做到这一点?
Ext.define('APP.view.MyCombo', {
extend: 'Ext.form.field.ComboBox',
alias: 'widget.mycombo',
requires: [
'Ext.view.BoundList',
'Ext.XTemplate'
],
initComponent: function() {
var me = this;
Ext.applyIf(me, {
listConfig: {
xtype: 'boundlist',
itemSelector: 'div',
itemTpl: Ext.create('Ext.XTemplate',
'{[this.getName(values)]}',
{
scope: scope, // I can't set this in architect
getName: function(record) {
console.log(this); // I need to use the combo here
}
}
)
}
});
me.callParent(arguments);
}
});
答案 0 :(得分:0)
我是建筑师团队的成员,我碰巧在这里碰到了你的问题,虽然我总体上建议人们向Sencha Architect论坛发布一致的官方支持,而不是在SO上。我们仍然很乐意提供帮助!
这里最好的选择是使用" me"因为建筑师目前不允许你设置范围。如果您需要访问该范围之外的内容,在大多数情况下,您应该可以通过“我”来访问该范围。这样或那样。
我认识到这并不是您追求的理想答案,我们当然会根据用户需要的功能认真对待反馈等。