Tag: handlebars.js

传递数组来查看没有html编码的问题node js(handlebars)

我打电话给正在返回csv的雅虎财务API。 然后,我想将csv文件转换为Google图表可以读取的数组。 问题是当我传递数组到视图时,它有一堆html编码的字符。 例如,我想传递数组: [['Year', 'Sales', 'Expenses'],['2004',1000,400],['2005',1170,460],['2006',660,1120],['2007',1030,540]] 但是,当页面呈现时,它正在抛出一个错误,传递的数组看起来像这样: [['Year', 'Sales', 'Expenses'],['2004',1000,400],['2005',1170,460],['2006',660,1120],['2007',1030,540]] 这是我的index.js: var router = require('express').Router(); function GetCompanyInformation(callback) { var request = require('request'); request('http://table.finance.yahoo.com/table.csv?s=orcl&a=0&b1&c=2010&d=0&e=1&f=2011&g=d&y=0&z=orcl', function (error, response, data) { if (!error && response.statusCode == 200) { return callback(null,data); } return callback('An error has occurred.',null); }) } /* GET home page. */ router.get('/', function(req, res, next) […]

如何在Express + Webpack +把手中“url-loader”图像

您好,我使用快递与Handlebars作为视图引擎,并想知道如何将图像embedded到我的模板中,并使其对Webpacks的url-loader “可见”。 也许一个可能的解决scheme是使用handlebars-loader但我不想使用它。 我想达到的是使用把手相当于玉的' img(src=require("./my/image.png")) 但是没有使用handlebars-loader 。 谢谢

在node.js + express中实现依赖select列表

我是新来的node.js和expression。 我正在写一个node.js应用程序与快递和express-handlebars作为我的模板框架。 我想实现一个依赖的select列表,它将根据另一个select列表的select值来呈现。 到目前为止,这是我的: 这是我的家长领料单 <select id="buildingsSelect" class="building-select-add "name="residentBuildings"> {{#each buildingRows}} <option value="{{idBuildings}}" name={{Name}}>{{Name}}</option> {{/each}} </select> 当用户select一个build筑物时,我做了一个ajax请求, $('.building-select-add').change(function(){ var buildingId = $('.building-select-add').val(); $.ajax({ type: 'post', url: '/resident_add/' + buildingId, success: function(data) { location.reload(); }, error: function(err) { console.log('———— Error while updating this resident: ' + err); console.log('———— Error while updating this resident: ' + err.message); […]

express-handlebars如何通过helper函数呈现JSON对象

var express = require('express'); var exphbs = require('express3-handlebars'); var app = express(); var hbs = exphbs.create({ // Specify helpers which are only registered on this instance. helpers: { foo: function () { return 'FOO!'; }, bar: function () { var data = { user:[ {name: "foo"}, {pass: "bar"} ] }; return data; } } }); […]

手推车/快递/吞食无法查找视图

我用gulp来分隔javascript文件和一些.hbs文件到这个结构中: project |– app | |– build | |–hbs-views | |–layouts | |–layout.hbs | |–form.hbs | |–js | |–main.js 我的视图引擎configuration使用快速句柄: app.set('views', path.join(__dirname, '../hbs_views/layouts')); app.set('view engine', 'hbs'); app.get('/', function list (req, res, next) { res.render('form'); }); 我在启动应用程序时收到这个错误: [Error: Failed to lookup view "form" in views directory "/hbs_views/layouts"] 我假设main.js抛出这个错误,因为它是唯一的JavaScript文件,所以我指定我的pathform.hbs相对于main.js文件。 我不知道为什么找不到该文件。

把手select的选项

希望select一个基于URL的选项 我的路线是: router.get('/apply/:id', function(req, res){ var query = {"status" : "true"} Apartment.find(query, function(err, apartments){ if(err){ res.status(404).send('Error occured'); } else { res.render('frontend/rental-application', { title: 'Apply | LJH Management', apartments: apartments, wanted_id: req.params.id }) } }) }); 我的观点是: <select name="propertyofinterest" type="text"/> {{#each apartments}} <option value="{{address}} {{city}}"{{#if wanted_id '==' _id}}selected{{/if}}>{{address}} – {{city}}</option> {{/each}} </select> 我想我只是能够通过我的req.param.id并设置它,但是,情况并非如此。 我越来越: TypeError:无法读取未定义的属性“includeZero”。 我怎样才能解决这个问题?

如何在快递JS中的选项卡内呈现部分视图?

我想知道如何在选项卡面板中渲染局部视图。 我的路线从索引页面开始使用下面的代码: var express = require('express') , router = express.Router() , index = require('../models/index') router.use('/users', require('./api/users')) /*GET home page*/ router.get('/', function(req, res) { index.all(function(err, gridData) { res.locals.gridData = JSON.stringify(gridData.details); res.render('index'); }); }); 和我的索引页面如下: <div id="MainTab"> <ul> <li><a href="#Tab1">Tab1</a></li> <li><a href="#Tab2">Tab2</a></li> <li><a href="#Tab3">Tab3</a></li> </ul> <div id="Tab1"> {{> Tab1 }} </div> <div id="Tab2"> {{> Tab2 }} </div> […]

在Express JS中渲染部分视图覆盖相同的页面

我在网格顶部有一个网格logging和一个button。 一旦从网格中select了一条logging并点击了button,我必须使用一个表单来渲染一个局部视图。 我不知道如何渲染控制器的部分视图。 请在下面find我的文件夹结构: –views –partials –header –footer –main –form_page –route –index –api –grid Header和footer是所有页面的默认值。 最初主页面将被渲染为局部视图。 点击button后,我必须将其replace为form_page 。 它基于快速js和车把。

将表单属性传递给partials

我正在使用NodeJS的应用程序,并已能够使用句柄和partials没有太多的麻烦。 我正在开始view和edit汽车表格。 例如,用户提交一个应用程序后,我有分别转到localhost:3000/cars/:id/view和localhost:3000/cars/:id/edit “查看”和“编辑”链接。 这两个链接之间的唯一区别是“查看”页面的forms只有readonly="readonly" ,“编辑”没有readonly属性。 我想做什么 汽车/图 {{ >car_form readonly=true }} 汽车/编辑 {{ >car_form readonly=false }} <button type="submit">Submit</button> 这是可能的句柄模板? 还是有什么类似的,我可以做得到我想要的结果? 谢谢!

把手模板被渲染为原始的HTML

我试图得到一个简单的页面与节点和句柄运行,但页面无法正确呈现。 当我去http:// localhost:8080 /我只是在浏览器中获得原始的HTML文本。 这是我的代码: main.js var express = require('express'); var app = express(); var handlebars = require('express-handlebars').create({defaultLayout:'main'}); app.engine('handlebars', handlebars.engine); app.set('view engine', 'handlebars'); app.set('port', 8080); app.get('/',function(req,res){ res.type('text/plain'); res.render('home'); }); app.listen(app.get('port'), function(){ console.log('Express started on http://localhost:' + app.get('port') + '; press Ctrl-C to terminate.'); }); home.handlebars <h1>The Home Page</h1> main.handlebars <!doctype html> <html> <head> <title>Demo Page</title> […]