Sencha Architect XTemplate 范围

Posted

技术标签:

【中文标题】Sencha Architect XTemplate 范围【英文标题】:Sencha Architect XTemplate scope 【发布时间】:2014-03-26 14:29:27 【问题描述】:

我在我的项目中使用 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】:

我是 Architect 团队的一员,我碰巧在这里遇到了您的问题,尽管我通常建议人们在 Sencha Architect 论坛上发帖以获得一致的官方支持,而不是在 SO 上发帖。我们仍然很乐意提供帮助!

您最好的选择是使用“me”变量,因为 Architect 目前不允许您设置范围。如果您需要访问该范围之外的内容,在大多数情况下,您应该能够通过“我”以一种或另一种方式到达那里。

我知道这不是您想要的理想答案,我们当然会认真对待用户需要的功能等方面的反馈。

【讨论】:

感谢您的回答@honestbleeps!我希望我能以某种方式设置范围,但我意识到 IDE 一直在开发中,所以现在我无法以方便的方式完成所有操作。

以上是关于Sencha Architect XTemplate 范围的主要内容,如果未能解决你的问题,请参考以下文章

在 Sencha Architect 中扩展网格面板

Sencha Architect 2 - 如何编辑代码

Sencha Architect - 使用表单创建屏幕

使用 Sencha Architect 2 配置控制器

Sencha Architect 中的无效会话

将 Sencha Architect 项目从 Sencha Touch v2.0.x 更新到 Sencha Touch 2.1.x