$.шаблон возвращает объект вместо функции - PullRequest
0 голосов
/ 10 ноября 2011

Я использую плагин jQuery под названием JsRender от BorisMoore.

Все отлично работает на главной странице , но когда я просматриваю страница контактов плагин не работает:

Сообщение об ошибке в консоли Chrome

Uncaught TypeError: object is not a function
jquery.tmpl.js:329

Uncaught Template command not found: getDay 
js:2000

Я зарегистрировал свои теги следующим образом:

var blogMarckuptmpl = '<li>' + '<div class="blog-date">' + '<img src="@Url.Content("~/Images/calendar.png")" alt="Calendário" />' + '<span class="blog-dateDay">{{getDay publishedDate}}</span>' + '<span class="blog-dateMonth">{{getMonthName publishedDate}}</span> ' + '</div> ' + '<div class="blog-text">' + '<a href="{{=link}}" target="_blank" title="{{=title}}">' + '<h4>{{=title}}</h4>' + '</a>' + '<p>{{=contentSnippet}}</p>' + '</div>' + '</li>';
$.template("blogTmpl", blogMarckuptmpl);
$.views.registerTags({
  getDay: function(val) {
    return new Date(val).getDate();
  },
  getMonthName: function(val) {
    return new Date(val).toString("MMM").toLowerCase();
  }
});
var feedBlog = new google.feeds.Feed("http://blog.bindsolution.com/rss");
feedBlog.setNumEntries(4);
return feedBlog.load(function(blogFeedResult) {
  if (!blogFeedResult.error) {
    $("#blog-feed").html($.render(blogFeedResult.feed.entries, "blogTmpl"));
  }
}

Просмотр источникаJsRender обнаружил, что на странице контактов в $.template(tmpl) функция возвращает объект вместо анонимной функции (как на главной странице).

Дополнительная информация

Для упрощенияпонимание, захваченные изображения хрома отладки:

Два изображения для каждой страницы (страница контактов и домашняя страница) Первое изображение (с окончательным 1 ) является отладкой до $.template(tmpl),второй (заканчивающийся 2 ) отладкой после $.template(tmpl).

Обратите внимание на объект tmpl в переменной Scope (справа)

Домашняя страница (до) : tmpl тип строки

Домашняя страница (после) : Нетт. е. объект tmpl в переменной Scope (справа). Он является анонимной функцией!(Правильно!)

Страница контактов (до) : tmpl тип строки

Страница контактов (после) : Обратите внимание на tmplобъект в переменной Scope (справа) tmpl - это тип объекта !! ??

** Отладочные изображения **

Также доступно по адресу: http://imgur.com/a/LwXDn

Домашняя страница (до)

Home page (before)

tmpl тип строки


Домашняя страница (после)

Home page (after)

Обратите внимание на объект tmpl в переменной Scope (справа). Он является анонимной функцией!(Правильно!)


Страница контактов (Begore)

Contatc page (before)

tmpl тип строки


Страница контактов (после)

Contact page (after)

Обратите внимание на объект tmpl в переменной области (справа)

tmpl это тип объекта !! ??

1 Ответ

2 голосов
/ 11 ноября 2011

Общаясь с создателем плагина, я обнаружил, что он не работает рядом с шаблонами jQuery.

Следите за беседой: https://github.com/BorisMoore/jsrender/issues/19

...