2010-12-14 23 views
3

Je suis venu à travers ce beaucoup dans ExtJS et je me demandais où il vient de j'ai un exemple comme celui-ci:variable ACCOLADE en Javascript

view: new Ext.grid.GroupingView({ 
     forceFit:true, 
     groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})' 
    }), 

Où est {texte} venant de cette fonction? Ce n'est pas défini comme du texte var; n'importe où dans le script. Puis-je le manipuler comme une chaîne normale? Toute idée sur ce serait utile,

Merci

Répondre

8

C'est un modèle. Quelque part dans le reste du code, le {text} de cette chaîne sera remplacé par une valeur au moment de l'exécution.

Mise à jour:

Ok, regardez, vous pouvez faire quoi que ce soit à peu près que vous voulez. Je n'ai pas Ext.js à portée de main, donc je ne peux pas vous donner de code direct. mais cet argument est juste un objet anonyme. L'opération new crée un objet et l'utilise comme partie du contenu. view deviendra le nom d'un attribut attaché à SOMETHING - à l'objet window si rien d'autre - nommant ce nouvel objet.

Si vous voulez savoir ce qu'il contient, console.dir dans un débogueur doit vider le contenu. Dans ces contenus est presque certainement une chaîne nommée groupTextTpl, et c'est juste une chaîne, faites-le comme vous le ferez. Plus probablement, cependant, lisez le traitement des modèles dans Ext.js - vous pouvez probablement écrire du code pour utiliser ce modèle et en créer de nouveaux, personnalisés.

+0

Merci pour votre information, est-il possible de le manipuler? Comme utiliser une fonction de sous-chaîne –

+0

Vous pourriez être en mesure de remplacer '{text}' par '{[values.text.substring (0, 1)]}' et ainsi de suite. Si ce n'est pas le cas, l'implémentation d'un http://dev.sencha.com/deploy/dev/docs/?class=Ext.Template vous permettra d'ajouter une fonction capable d'effectuer une pause afin de déterminer ce que vous pouvez faire. – wombleton

+0

vous pouvez faire à peu près tout ce que vous aimez avec .... Je vais ajouter plus à la réponse. –

0

il est ah Object avec deux paires clé-valeur:
1. Touche: forceFit, valeur: true
2. clé: groupTextTpl, valeur: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
seconde est une chaîne BTW

+0

Vous avez mal lu sa question. Il fait référence au '{text}' dans la propriété 'groupTextTpl'. –

+0

alors la première réponse est correcte: c'est une expression stockée sous forme de chaîne – www0z0k