Переменная фигурные скобки в Javascript - PullRequest
3 голосов
/ 15 декабря 2010

Я часто сталкивался с этим в ExtJS, и мне было интересно, откуда он, у меня есть такой пример:

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

Откуда берется {текст} в этой функции? Это не было установлено как var text; в любом месте сценария. Могу ли я манипулировать им как обычной строкой? Любое понимание этого было бы полезно,

Спасибо

Ответы [ 2 ]

8 голосов
/ 15 декабря 2010

Это шаблон. Где-то в остальной части кода {текст} в этой строке будет заменен значением во время выполнения.

Обновление

Хорошо, смотри, ты можешь делать с ней практически все, что захочешь. У меня нет Ext.js под рукой, поэтому я не могу дать вам простой код. но этот аргумент является просто анонимным объектом. Операция new создает объект и использует его как часть содержимого. view станет именем атрибута, присоединенного к SOMETHING - к объекту окна, если ничего другого - к имени этого нового объекта.

Если вы хотите узнать, что в нем, console.dir в отладчике должно выгружать содержимое. В этом содержимом почти наверняка есть строка с именем groupTextTpl, и это просто строка, делайте с ней, как хотите.

Скорее всего, читайте об обработке шаблонов в Ext.js - вы, вероятно, можете написать код для использования этого шаблона и сделать из него новые, настроенные coipies.

0 голосов
/ 15 декабря 2010

это ах Object с двумя парами ключ-значение:
1. клавиша: forceFit, значение: true
2. ключ: groupTextTpl, значение: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
вторая строка - между прочим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...