【问题标题】:$. template returns an object instead of a function美元。模板返回一个对象而不是一个函数
【发布时间】:2011-12-26 09:49:51
【问题描述】:

我正在使用 BorisMoore 的名为 JsRender 的 jQuery 插件。

主页上一切正常,但是当我浏览联系页面时,插件不起作用:

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)函数的联系页面上返回的是一个对象而不是一个匿名函数(和主页一样)。

更多信息

为便于理解,截取了调试chrome的图片:

每页两张图片(联系页面和主页) 第一张图片(最后是1)是$.template(tmpl)之前的调试,第二张(结尾2)是$.template(tmpl)之后的调试。

注意作用域变量中的tmpl 对象(右侧)

首页(之前)tmpl字符串类型

主页(之后): 注意范围变量中的tmpl 对象(右侧) 他是一个匿名函数! (正确!)

联系页面(之前)tmpl 字符串类型

联系页面(之后): 注意范围变量中的tmpl 对象(右侧) tmpl 是对象类型!!??

** 调试图像 **

也可以在:http://imgur.com/a/LwXDn

主页(之前)

tmpl字符串类型


主页(之后)

注意作用域变量中的tmpl 对象(右侧) 他是一个匿名函数! (正确!)


联系页面(Begore)

tmpl字符串类型


联系页面(之后)

注意作用域变量中的tmpl 对象(右侧)

tmpl 是对象类型!!??

【问题讨论】:

  • 什么叫“渲染”函数?。
  • 另外,返回的对象中有什么?
  • JsRende 相信。但我设法解决了这个问题。我会发布决议。

标签: javascript jquery-plugins anonymous-function jquery-templates


【解决方案1】:

与插件的创建者交谈后,我发现它不能与 jQuery 模板一起使用。

关注对话: https://github.com/BorisMoore/jsrender/issues/19

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-12
    • 2015-11-26
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多