Articles of handlebars.js

Meteor.js / Handlebars.js – 了解程序编码风格和范围

我第一次使用Meteor.js框架,并且无法理解模板系统事件的顺序(从来没有使用过Handlebars.js),以及如何处理范围。 我有一个名为audio.js的文件。 在这个例子中,我定义了一个类并使用该类初始化一个variables: // Question about this as well, how do I properly make a jQuery class? // Is this the right way? $.Audio = function() {} $.Audio.prototype = { init: function() { this.ele = $('.blahblah'); } startAudio: function() { // do things } } var Music = new $.Audio(); 所以我的var Music是在audio.js创build的。 现在,在另一个js文件中,我正在做一些模板function: Template.bars.rendered = […]

在Meteor中重用或重新创build被动源是否更好?

我有一个叫“联系人”的模板。 里面是一个渲染模板“contact”的#each。 用户可以按下“编辑”button,用编辑行的mongo id设置会话variables。 该行然后被动地重新渲染成“编辑”模式。 Template.contact.viewEditing = function() { return Session.get("contactViewEditingId") === this._id; } html使用viewEditing助手几次,例如: {{#if viewEditing}} <div class="panel-heading">EDITING!</div> {{/if}} 我需要在.rendered()中绑定一些javascript。 我想再次检查我们是否正在编辑。 我可以想到2个选项: 我应该在我的template.rendered()里面调用Template.content.viewEditing()吗? 这是否节省react native计算? 或者我应该只复制面食if语句。 这个选项似乎违反了DRY。 选项1: Template.contact.rendered = function() { if( Template.contact.viewEditing.call(this.data) ) { // Bind some fancy jQuery bindEditInPlace(this.data); } } 选项2: Template.contact.rendered = function() { if( Session.get("contactViewEditingId") === this._id ) […]

有没有一种方法可以根据Meteor中的用户angular色附加模板事件?

我想知道,因为我还没有弄明白,如果有一种方法来附加meteor的模板事件,如: Template.businessOperations.events({ 'dblclick .display': function (evt, tmpl) { //DO SOMETHING; } } 基于当前用户的angular色。 例如: if (Meteor.user().profile.type === 'admin') { Template.businessOperations.events({ 'dblclick .display': function (evt, tmpl) { //DO SOMETHING; } } } 我已经尝试过,它没有工作,我也尝试从实际的事件方法获取用户,也没有工作,我有点没有看到正确的解决scheme在这里。 在此先感谢您的帮助。

用于node.js的模板引擎

我正在使用节点js为我的网站项目,现在我不知道模板哪一个更好handlebars或embeddedejs感谢您的任何帮助

无法查看视图

嗨,我试图与使用手柄快车3。 但是我无法“查看视图”,我被这个错误困住了。 Error: Failed to lookup view "500" in views directory "d:\projects\meadowlark\site\views" at EventEmitter.app.render (d:\projects\meadowlark\site\node_modules\express\lib\application.js:519:17) at ServerResponse.res.render (d:\projects\meadowlark\site\node_modules\express\lib\response.js:904:7) at d:\projects\meadowlark\site\meadowlark.js:29:7 at Layer.handle_error (d:\projects\meadowlark\site\node_modules\express\lib\router\layer.js:58:5) at trim_prefix (d:\projects\meadowlark\site\node_modules\express\lib\router\index.js:269:13) at d:\projects\meadowlark\site\node_modules\express\lib\router\index.js:238:9 at Function.proto.process_params (d:\projects\meadowlark\site\node_modules\express\lib\router\index.js:313:12) at d:\projects\meadowlark\site\node_modules\express\lib\router\index.js:229:12 at Function.match_layer (d:\projects\meadowlark\site\node_modules\express\lib\router\index.js:296:3) at next (d:\projects\meadowlark\site\node_modules\express\lib\router\index.js:190:10) 对我来说真的很奇怪 任何人都可以解释这个问题,我怎么能解决它? 我的js代码如下: var express = require('express'); var app = express(); // set up handlebars view […]

把手:使用JavaScriptvariables的索引

所以我想能够做到这样的事情: "{{tickets." + index + ".comments.0.account}}" 我想能够指定数组的索引,我试图从一个JavaScriptvariables中获取数据。 目前这段代码给了我一个错误,说: Expecting 'ID', got 'STRING' 我实际上使用快速句柄与Node.js如果这有所作为。

使用手柄来遍历一个复杂的对象

我有一个特殊的数组,我怎么能迭代呢? 看起来像: { "0.1.0": { "pictures": { "list": "" }, "show": true, "implemented ": false, "percentageDoneVersion": 100, "description": "Programmierung …", "tasks": { "1":{ "percentageDone":10, "description":"Text1…" }, "2":{ "percentageDone":70, "description":"Text2…" }, "3":{ "percentageDone":10, "description":"Text3…" } } } } 我尝试了不同的东西,但是没有成功 谢谢。

把手模板不能正确迭代

我正在使用node.js + handlebars构build一个应用程序。 我的服务器发送两个对象到我的视图: users和companies 。 我的用户加载正常,但由于某种原因,我的公司不会填充我的下拉列表: {{#each users}} <tr> <td id="id">{{id}}</td> <td>{{first_name}}</td> <td>{{email}}</td> <td><button type="button" class="btn btn-primary" id="confirm">Confirm</button></td> <td><button type="button" class="btn btn-primary" id="disable">Disable</button></td> <td><button type="button" class="btn btn-danger" id="delete">Delete</button></td> <td><button type="button" class="btn btn-primary" id="view">View</button></td> <td> <select id="company" class="form-control"> {{#each companies}} <option>{{company_id}}</option> <!– This will not populate –> {{/each}} </select> </td> </tr> {{/each}} 任何人都知道可能会发生什么? 作为一个侧面说明,如果我试图把我的companies放在桌子外面,它就可以工作。 例如: […]

如何读取Handlebars中的对象数组中的属性?

我正在做一个有记分牌的寻宝应用程序。 在scoreboard路线中,我asynchronous地调用了从MongoDB返回JSON数据的函数。 这是函数返回的内容: [ { "_id": "rational", "total": 0 }, { "_id": "creative", "total": 0 }, { "_id": "confident", "total": 60 }, { "_id": "passionate", "total": 30 }, { "_id": "ingenious", "total": 30 } ] _id是球队名称, total是球队得分的数量。 我正在使用Handlebars作为我的模板引擎,而且还是新手。 我想制作一个HTML表格,用相应的总分显示团队名称,但似乎无法弄清楚。 请帮我解决这个问题。

在node.js中的活动菜单项和表示

我正在使用node.js , express和express-handlebars 。 我在我的布局顶部有一个菜单。 在我的server.js ,我设置了所有页面 app.locals.pages = [ { title: 'Home', link: '/' }, { title: 'About', link: '/about' }, { title: 'Contact', link: '/contact' }, ]; 并在布局文件中打印页面 {{#each pages}} <li class="nav-item"> <a class="nav-link" href="{{link}}">{{title}}</a> </li> {{/each}} 但我想添加一个类到当前正在活动的菜单项。 如何保存3个菜单项中的哪一个是活动的?