将值从Node JS传输到Jade

时间:2016-08-02 11:26:46

标签: javascript node.js express pug

我正在尝试将参数从节点js传输到我的Jade页面中的Input Tag, 这是我的代码:

节点js:

res.render("index" ,{title: userName});

Jade Page(称为'index'):

.input
    input(type='text', value= #{title} ,  maxlength='15')

我在这里做错了什么?

这是我的错误消息:

  

48 |输入(type ='text',value =#{title},maxlength = '15')

     

意外的令牌ILLEGAL       在功能(本机)

`

2 个答案:

答案 0 :(得分:3)

它会按原样运作:value=title

.input
    input(type='text', value=title ,  maxlength='15')

答案 1 :(得分:1)

您正在使用转义字符串插值,如下所述:http://jade-lang.com/reference/interpolation/ 这不作为属性工作,您必须使用缓冲代码,如下所述:http://jade-lang.com/reference/code/

看起来像这样:

// escaped code
.input
    input(type='text', value= title ,  maxlength='15')
// unescaped code
.input
    input(type='text', value!= title ,  maxlength='15')

如果您想为对象使用对象,可以使用input&attributes(object)来处理它,就像这里所描述的那样:http://jade-lang.com/reference/attributes/#and-attributes

Node.js的

res.render("index" ,{
   input: {
      type: 'text',
      title: userName, 
      maxlength: '15',
      name: 'myInputName'
   }
});

玉:

.input
    input&attributes(input)

两者的结果:

<div class="input">
   <input type="text" value="username" maxlength="15" name="myInputName" />
</div>

以下是Jade中没有Node的workinh Pen: http://codepen.io/pure180/pen/oLPGJy