views:

1671

answers:

1

I'm familiar with using a function to determine a specific condition using xtemplate but not sure how to directly call a function without the conditional if statement.

My code, for example, wants to append some characters to a string that I am using within my xtemplate. I think the best way to do it is append the characters when the xtemplate is rendered.

var myTpl = new Ext.XTemplate(
  '<tpl for=".">',

    '<tpl if="this.isThumbnailed(thumbnailed) == true">',

      '<img src=this.getThumbUrl(rawThumbUrl)/>', //this call to function does not work, also tried variations of this.

    '</tpl>',

  '</tpl>',

 {
  isThumbnailed : function(thumbnailed) {
    return ...;
  },
  getThumbUrl : function(rawThumbUrl) {
    //... //this function does not get called.
    return ...;
  }

 }
)
+6  A: 

Have a look at the XTemplate constructor API docs. There are lots of good examples there. Quoting:

Anything between {[ ... ]} is considered code to be executed in the scope of the template.

So you should be able to do something like:

'<img src={[this.getThumbUrl(rawThumbUrl)]} />',
bmoeskau
Did this solve your problem?
bmoeskau