Comment appeler des fonctions au sein d'un XTemplate (itemTpl)
Je voudrais utiliser Ext Chaîne méthode sur le texte qui sera de sortie à la vue.
Par exemple:
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(''),
mais bien sûr, la concaténation de la ligne 10 est illégal.
Savez-vous si c'est possible ou comment le faire correctement?
et @sra noter la modification dans l'OP - il y a
Aussi longtemps que vous exécutez le modèle que XTemplate cela ne devrait poser aucun problème
.join('')
à la fin de itemTpl
- ce serait un problème lors de l'inclusion d'une fonction?Aussi longtemps que vous exécutez le modèle que XTemplate cela ne devrait poser aucun problème
OriginalL'auteur pepe | 2012-09-25
Vous devez vous connecter pour publier un commentaire.
Cela devrait résoudre votre problème:
vous pouvez trouver plus d'informations sur le XTemplate à Sencha Docs
La chose avec le modèle de la fonction membre, c'est que comme je sais que vous ne pouvez pas définir directement dans le itemTpl de la façon habituelle, mais besoin de définir explicitement un nouveau XTemplate et utilisez-la dans votre itemTpl. Voir l'exemple:
Senchafiddle exemple
Cela devrait bien fonctionner en tant que le code ci-dessous (il suffit d'insérer le code de la XTemplate ci-dessus).
Senchafiddle exemple
Espère que ce sortens!
modifier remarqué que j'ai raté les balises de fermeture, parfois il fonctionne sans eux, mais c'est une bonne pratique de toujours les utiliser comme ils pourraient causer intéressant erreurs (dans ce cas, un manque de support sur le code généré).
Ajout d'infos sur les fonctions de membre de la réponse
yep qui a travaillé comme un charme - thx zelexir et @sra pour vos suggestions
Eh bien, je ne suis pas en mesure d'obtenir que cela fonctionne lors de l'utilisation des fonctions membres. Peut-être que vous pouvez fournir un JSFiddle quand vous trouver un peu de temps, ne pouvez-vous pas?
sra: Ajout de violon exemples pour vous et mettre un avis de l'importance de la fermeture <tpl> balises
OriginalL'auteur
Vous pouvez utiliser memberfunctions
,
est à l'origine une erreurEh bien, il faut être enveloppée dans de la " je crois, mais de toute façon, il semble ne pas fonctionner comme prévu, au moins dans mon bac à sable... je vais continuer à le tester
le
join
gâchera l'utilisation de'
il doit donc être"
au lieu lorsque l'intérieur de la fonction d'arguments... ainsi que supprime l'erreur, mais je ne peut toujours pas obtenir que cela fonctionne...Moi aussi. Mais j'ai besoin de plus de temps pour cela. De toute façon l'intérêt pour moi, trop. J'ai pensé qu'il serait de travailler de cette façon
thx @sra - pour info, je suis
Uncaught Error: [ERROR][Ext.XTemplate#apply] Cannot read property 'doAction' of undefined
qui me fait me demander sipost_text_teaser
devrait être dans l'appareil? BTW, je suis en utilisantreturn Ext.String.ellipsis(name + "," + 4);
à la place de votre code ci-dessusOriginalL'auteur
Vous pouvez utiliser une fonction à l'intérieur d'un modèle
Uncaught SyntaxError: Unexpected token ,
sur la console 🙁 -- le,
est celui que nous essayons d'échapper àOriginalL'auteur