Sencha Architect XTemplate范围

时间:2014-03-26 14:29:27

标签: templates extjs scope sencha-architect

我在项目中使用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);
  }

});

1 个答案:

答案 0 :(得分:0)

我是建筑师团队的成员,我碰巧在这里碰到了你的问题,虽然我总体上建议人们向Sencha Architect论坛发布一致的官方支持,而不是在SO上。我们仍然很乐意提供帮助!

这里最好的选择是使用" me"因为建筑师目前不允许你设置范围。如果您需要访问该范围之外的内容,在大多数情况下,您应该可以通过“我”来访问该范围。这样或那样。

我认识到这并不是您追求的理想答案,我们当然会根据用户需要的功能认真对待反馈等。