节点js swig对象显示

时间:2014-08-23 07:01:14

标签: node.js templates swig-template

{% for item in list %}
        <div class="todo_item">
            <span class="hidden_id">{{ item.id }}</span>
            <div class="item_title"> {{item.title}}</div>
            <div class="item_tooltip">date {{item.dateCreated}}</div>
            <div class="item_tooltip">{{ item|json_encode }}</div>
        </div>
        {% endfor %}

{{item | json_encode}}输出为:

{"_id":"53f82ab44f3254584e970684","username":"k4","title":"kkk3323","__v":0,"dateCreated":"2014-08-23T05:46:28.326Z","status":true}

{{item.dateCreated}}显示[object Object]。

我使用{{item.id}},而不是{{item._id}},因为[object Object]输出。

3 个答案:

答案 0 :(得分:3)

我应该使用“安全”

示例:

<div class="item_tooltip">date {{item.dateCreated | safe}}</div>

答案 1 :(得分:2)

您的{{item.dateCreated}}Date对象,我假设...这就是为什么它显示为[object Object]。如果您想将其格式化为日期,则可以使用date过滤器来实现此目的:http://paularmstrong.github.io/swig/docs/filters/#date

答案 2 :(得分:0)

为什么不创建自己的moment.js过滤器

var gulp = require('gulp'),
swig = require('gulp-swig'),
moment = require('moment');

gulp.task('swig',function(){
    gulp.src('./src/*.html)
    .pipe(swig({
    setup: function(swig){
     function Moment(date){return moment(date);};
     swig.setFilter('moment',Momemt);
    })
    .pipe(gulp.dest('./dest'));
 });