Tag: handlebars.js

前端需要Handlebars.compile。 但是已经与bigcommerce服务器端一起使用的把手

我正在开发一个大型商业模板主题。 我想使用基本的把手function markup {{var}} body javascript var hitTemplate = Handlebars.compile($(“#mobile_category_template”).html()); $(“.collection-page”).html(hitTemplate({ var: “var works” })); 这通常会奏效。 但是bigcommerce解析了serverside 。 当我的前端把手解析时, {{var}}已经被编译。 如何才能让上述内容与服务器端把手分开工作? 或者我如何制作和/或扩展当前的把手逻辑。 (基本上如何定义我自己的模板变量/ drop) 非常具体。 我想决定根据正在使用的视口或浏览器加载{{> components/mobile}}或{{> components/desktop}} (使用javascript轻松完成)。 这是我想要解决的问题: BigCommerce Stencil – 基于自定义javascript逻辑加载组件部分

Emberjs如何绑定-attr一个id

我想使用ember属性通过调用它的动态id来切换div的可见性,但是即使我可以通过调用类来做类似的事情,我也不能对id做同样的事情。 例如: {{bind-attr class=”:class1 controller.controllerProperty:class2″}}工作正常。 我可以从controllerProperty中的动作切换controllerProperty。 你会认为同样的概念适用于id。 但是{{bind-attr id=”:staticId controllerProperty:id{{dynamicIdNumber}}”}}使得id一起消失! 为什么会发生这种情况?这种方法的正确方法是什么? 我想尽可能避免使用解决方案。

带有handlbars的#each之外的变量

我有数据, data = { “items”: [ {“value”: “New”, “id”: 1}, {“value”: “Open”, “id”: 2}, {“value”: “Close”, “id”: 3} ], “current”: 2 } 我是我的模板,我遍历项目,但想要在循环中访问当前值。 这不起作用, {{#each items}} {{id}} – {{value}} – {{current}} {{/each}}

Chrome的日期/时间格式问题

我在JSON中得到如下的日期/时间值: “ChangedDate”:”\/Date(1349469145000)\/” 在FF和IE中,我使用下面的辅助函数以12小时格式(10/5/2012 – 3:32:25 PM)获得上述日期: Handlebars.registerHelper(‘FormatDate’, function (date) { if (date == null) return “”; else { var value = new Date(parseInt(date.substr(6))); return value.getMonth() + 1 + “/” + value.getDate() + “/” + value.getFullYear() + ” – ” + value.toLocaleTimeString(); } }); 但是,在Chrome中,我仍然可以获得24小时格式(10/5/2012 – 15:32:25)。 如何在Chrome中以12小时格式获取日期/时间值?

使用jQuery对存储在变量中的Div元素进行排序

我有一个存储在变量中的HTML dom元素。 HTML是使用jQuery从handlebar.js和JSON数据生成的。 我需要根据CSV中的值对其进行排序 var html = “Qual Exp Edu Int Ref Img Obj”; HTML通常很复杂,通常超过200行代码。 html将有很多div标签,有或没有id,嵌套div等。我在这里使用一个简单的表示法。 我在一个varibale中将sortorder作为csv var sortorder = “obj,exp,qual,edu,int,ref,img”; 但是带有上述id的div标签将完全存在于生成的HTML中(var html肯定会有所有那些具有相应id的div。)为了保持简单,var html可能有超过100个div但是这7个div是 Qual Exp Edu Int Ref Img Obj/div> 根据var sortorder将defuffly存在于var html中的一些shuffled顺序。 我需要的是相同的var html,但那些div根据传递的值排序。 var html中的其他div不应该受到影响。 我想我已经足够简短地解释了我的要求,我已经发布了这个问题 如何使用jQuery从CSV列表中根据id对div元素进行排序? 但这种方法并不是一直都在运作。

填充隐藏的表单字段

我的应用程序上的GET操作返回数组中的数据: Value”:[{“Id”:”6b7″,”Notes”:”testing”,”CreatedBy”:”User1″},{“Id”:”6b7″,”Notes”:”Testing 1″,”CreatedBy”:”User2″}] 我使用上面的方法来填充模板: **** Add Note Cancel {{#unless this.Value.length}} Notes do not exist. {{else}} Note Created By {{#each this.Value}} {{this.Notes}} {{this.CreatedBy}} {{/each}} {{/unless}} 如何填充隐藏的表单字段(Id)。 value = {{this.Value.Id}}不起作用,因为我们有一个数组。

如果条件不起作用,车把

if Handlbars模板中的条件无法使用。 下面是我的jquery Handlebarsfunction,下面是 $.each(data.response, function (i, item) { var source = $(“#my-orders”).html(); var template = Handlebars.compile(source); html += template(item); //alert(html); }); if(html){ $(“#myorderss”).html(html); } 当我使用if条件时,它不起作用。 {{#if id==’1′}} {{/if}} 如何在车把模板中使用条件?

逻辑OR / AND Handlebars.JS助手,多个参数,第一个始终被检查

以下是作为逻辑AND / OR多arg Handlebars.JS助手提出的: Handlebars.registerHelper({ and: function () { return Array.prototype.slice.call(arguments).every(Boolean); }, or: function () { return Array.prototype.slice.call(arguments).some(Boolean); } }); Handlebars.js否则如果 这对我不起作用,因为我需要将其称为 {{#if (or questionType ‘STARTTIME’ ‘ENDTIME’) }} {{#if (or questionType ‘STARTTIME’ ‘ENDTIME’ ‘ARGUMENT3’ ‘ARGUMENT4’) }} 换一种说法, 我为我的AND / OR支持多个args, 第一个arg总是我正在检查的 ,例如 return(questionType == arg1 || questionType == arg2 || questionType == arg3 …) 换句话说,我不能写一个愚蠢的2-param或(..)/和(..)这样, […]

用simplePagination.js显示json数据?

打击演示 我正在开发handlebars.js和simplePagination.js的分页 数据从JSON加载并使用handlebars.js显示 现在我必须将JSON数据映射到PAGINATION ,我在哪里做? 除此之外,官方网站“ http://flaviusmatis.github.io/simplePagination.js ”中没有太多文档。 请求您的帮助。 任何建议/建议都非常感谢。 JS代码: $(function () { function loadPosts(posts) { $(‘#posts’).empty(); posts.each(function () { var source = $(“#post-template”).html(); var template = Handlebars.compile(source); var context = { author: this.data.author, domain: this.data.domain, id: this.data.id, ups: this.data.ups, downs: this.data.downs, num_comments: this.data.num_comments, subreddit: this.data.subreddit, title: this.data.title, url: this.data.url, permalink: this.data.permalink, }; var […]

砌体不适用于Ember中的无限滚动

我正在尝试使用Jquery Masonry为我的图片库无限滚动。 砌体只适用于路线中的图像。 但是在将新图像对象推送到imagesarrays之后, 新图像出现在Dom但是砌体不起作用。 我见过Ember.js – jQuery-masonry +无限滚动并试过但我的代码仍无法正常工作。 图片库路线: App.ImggalleryRoute = Ember.Route.extend({ model: function(){ return { images: [ { name: “car”, src_path: “0dbf51ac84e23bd64d652f94a8cc7a22.png”, img_visible: true }, { name: “block”, src_path: “3b7bca99e44b3f07b4051ab70d260173.png”, img_visible: true }, … ] }; } }); imagegallery.hbs模板: {{#each img in images itemController=”galleryimage”}} {{#if img.img_visible}} {{/if}} {{/each}} 图库清单: App.ImggalleryView = Ember.View.extend({ templateName: […]