определение новой переменной в шаблоне jquery - PullRequest
16 голосов
/ 20 февраля 2011

Можно ли определить новую переменную в шаблоне jquery?Я прочитал официальные документы по шаблону jquery, но ничего не смог найти по этому поводу.Я попробовал что-то вроде {{ var xxx=123 }}, но это не сработало.Наконец, я использую хак, выполнив

${$item.xxx=123,""}

, а затем -

$item.xxx

, но я уверен, что это не лучшийподход ...

Ответы [ 3 ]

21 голосов
/ 21 февраля 2011

Я не думаю, что подход $ item слишком плох.Это согласуется с тем, где вы будете искать переменные, которые передаются через параметр options в $ .tmpl.

Другой подход, который я использовал, основанный на небольшой подсказке здесь , эточтобы на самом деле определить тег шаблона "var".

Просто сделайте:

$.extend($.tmpl.tag, {
    "var": {
        open: "var $1;"
    }
});

Тогда вы можете использовать его в своих шаблонах, например:

{{var xxx=123}}
...
<div>${xxx}</div>

Также, приятносообщение в блоге здесь о пользовательских тегах шаблонов jquery: http://blog.sterkwebwerk.nl/2010/12/15/custom-jquery-template-tags-1/

2 голосов
/ 18 октября 2011

Вы можете расширить шаблон jquery с помощью тега eval

$.extend($.tmpl.tag, { "eval": { open: "$1;"} });

и используйте

{{eval var xxx = 123}}
{{eval xxx += 23}}
1 голос
/ 03 июля 2013

Я делаю:

${xxx=13, ""}

и затем я могу использовать xxx в сабвуфере или в том же шаблоне

...