How to call functions within a XTemplate (itemTpl)

前端 未结 3 1166
再見小時候
再見小時候 2020-12-31 07:22

I would like to use Ext\'s String method on some text that will be output to the view.

For example:

itemTpl: [
    ...
    \'

        
3条回答
  •  一向
    一向 (楼主)
    2020-12-31 07:59

    This should solve your problem:

        '',
            '',
                '

    {post_text_teaser}

    ', '

    {timestamp}

    ', '', '

    {[Ext.String.ellipsis(values.post_text_teaser,4,false)]}

    ', '
    '

    you can find more information about the XTemplate at Sencha Docs

    The thing with template member function is that as far as I know you cannot define them directly in the itemTpl in the regular way, but need to explicitly define a new XTemplate and then use that in your itemTpl. See example:

    var tpl = new XTemplate(
        '',
            '',
                '

    {post_text_teaser}

    ', '

    {timestamp}

    ', '', '

    {[this.shorten(values.post_text_teaser)]}

    ', '
    ', { shorten: function(name){ return Ext.String.ellipsis(name,4,false); } } ); ... itemTpl: tpl, ...

    Senchafiddle example

    This should work fine as will the code below (just insert the code from the XTemplate above).

    itemTpl: new XTemplate(...),
    

    Senchafiddle example

    Hope that this sortens it out!

    edit noticed that I hade missed the closing tags, sometimes it works without them, but it's good practice to always use them as they could cause interesting errors (in this case a missing bracket on the generated code).

提交回复
热议问题