Функция не найдена в jTemplate - PullRequest
       27

Функция не найдена в jTemplate

0 голосов
/ 23 февраля 2010

У меня странная проблема с функцией, которую я пытаюсь вызвать из шаблона jTemplates с сообщением об ошибке «XYZ.getFriendlyName не является функцией».Похоже, я упустил что-то простое, но я перепробовал все, что мог придумать, и ошибка не исчезла.Код выглядит следующим образом:

<input type="text" value="{#if $T.RowId !== null}{XYZ.getFriendlyName($T.RowId)}{#/if}"/>

Я попытался удалить все в функции, чтобы исключить синтаксическую ошибку, переименовать функцию и переместить ее в глобальное пространство имен, переместив саму функцию на страницу.шаблон включен, перед кодом шаблона. Даже помещая все в троичный оператор, который до сих пор не работал вообще в jTemplates.Я продолжаю получать ту же ошибку.Кто-нибудь знает, как я могу решить эту проблему?

Спасибо!Garann ​​

Ответы [ 3 ]

2 голосов
/ 29 января 2012

Не используйте апострофы для функции: Сначала определите функцию:

function getFriendlyName( param ){
}

Добавить функцию к параметру:

$('template-name').setParam('getFriendlyName', getFriendlyName);

Доступ к функции внутри шаблона с помощью $P, как $P.getFriendlyName()
Например {$P.getFriendlyName($T.id)}

1 голос
/ 20 октября 2010
  1. Сначала определите функцию:

    функция getFriendlyName (param) {

    }

  2. Добавить функцию к параметру:

    $ ('имя-шаблона'). SetParam ('getFriendlyName', 'getFriendlyName');

  3. Доступ к функции внутри шаблона с использованием $ P как $ P.getFriendlyName ()

0 голосов
/ 09 марта 2010

В случае, если кому-то было любопытно, это была проблема времени и контекста. JTemplate обрабатывался до того, как файл JS на той же странице был полностью прочитан. Перемещение функции в объект, который начинает обработку верхнего / первого шаблона, решило проблему.

...