繁体   English   中英

如何在 XTemplate extjs 4 中调用函数

[英]How to call functions within a XTemplate extjs 4

这是我的观点

Ext.define('ValidationErrorView', {
    extend : 'Ext.panel.Panel',
    alias : 'widget.validationErrorView',
    layout : 'fit',
    overflow : 'auto',
    autoScroll : true,
    xTitle : 'Title',
    XFun :function(name){
        return "Hello " + name;
    }

    border : false,

    initComponent : function() {
        var tpl = new Ext.XTemplate(
            '<tpl for=".">',
            '<div>{xTitle}',
            '<p>{[xFun(name)]}',
            '</div>',
            '</tpl>'
        );
    }   
});

我想在我的模板中使用 xTitle 和 xFun()。 我正在使用 {[..]} 来调用我的函数,但这不起作用? 如何在模板中同时使用 xTitle 和 XFun() ?

以以下格式调用该函数:

initComponent : function() {
    var tpl = new Ext.XTemplate(
        '<tpl for=".">',
        '<div>{xTitle}',
        '<p>{[this.xFun(name)]}',
        '</div>',
        '</tpl>',
        {
            XFun :function(name){
               return "Hello " + name;
            }
        }
    );
}

这肯定可以工作。我删除了initComponent()之外的函数Xfun。

initComponent : function() {
  var tpl = new Ext.XTemplate(
    '<tpl for=".">',
    '<div>{xTitle}',
    '<p>{[this.xFun(values.name)]}',
    '</div>',
    '</tpl>',
    {
      XFun :function(name) {
        return "Hello " + name;
      }
    }
  );
}

this values.X (你所指的变量名)对我this values.X 并且 xTitle 可以从 XFun 函数中访问,例如 this.xTitle..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM