gpt4 book ai didi

javascript - 如何在 XTemplate 中调用函数 (itemTpl)

转载 作者:可可西里 更新时间:2023-11-01 01:40:41 27 4
gpt4 key购买 nike

我想使用 Ext 的 String一些将输出到 View 的文本的方法。

例如:

itemTpl: [
...
'<tpl switch="post_type">',
'<tpl case="new_user">',
'<p>{post_text_teaser}</p>',
'<p>{timestamp}</p>',
'<tpl default>',
'<p>' + Ext.String.ellipsis( + '{post_text_teaser}' + \, 4) + '</p>',
...
].join(''),

当然,第 10 行的连接是非法的。

您知道这是否可行或如何正确执行此操作吗?

最佳答案

这应该可以解决您的问题:

    '<tpl switch="post_type">',
'<tpl case="new_user">',
'<p>{post_text_teaser}</p>',
'<p>{timestamp}</p>',
'<tpl default>',
'<p>{[Ext.String.ellipsis(values.post_text_teaser,4,false)]}</p>',
'</tpl>'

您可以在 Sencha Docs 找到有关 XTemplate 的更多信息

模板成员函数的问题是,据我所知,您不能以常规方式直接在 itemTpl 中定义它们,而是需要显式定义一个新的 XTemplate,然后在您的 itemTpl 中使用它。参见示例:

var tpl = new XTemplate(
'<tpl switch="post_type">',
'<tpl case="new_user">',
'<p>{post_text_teaser}</p>',
'<p>{timestamp}</p>',
'<tpl default>',
'<p>{[this.shorten(values.post_text_teaser)]}</p>',
'</tpl>',
{
shorten: function(name){
return Ext.String.ellipsis(name,4,false);
}
}
);

...

itemTpl: tpl,

...

Senchafiddle example

这应该和下面的代码一样工作正常(只需插入上面 XTemplate 中的代码)。

itemTpl: new XTemplate(...),

Senchafiddle example

希望这能解决问题!

edit 注意到我错过了结束标签,有时没有它们也能正常工作,但最好始终使用它们,因为它们可能会导致有趣的错误(在这种情况下,生成的括号中缺少括号代码)。

关于javascript - 如何在 XTemplate 中调用函数 (itemTpl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com