RaShe
RaShe

Reputation: 1880

Node js swig object display

{% 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 %}

The {{ item|json_encode }} output is :

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

The {{item.dateCreated}} displays [object Object].

And I use {{ item.id }}, not the {{ item._id }} because of the [object Object] output.

Upvotes: 2

Views: 1450

Answers (3)

thecodechef
thecodechef

Reputation: 1

why don't you create you're own moment.js filter

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'));
 });

Upvotes: 0

Paul Armstrong
Paul Armstrong

Reputation: 7156

Your {{item.dateCreated}} is a Date object, I'm assuming... which is why it's showing as [object Object]. If you want to format it as a date, there's a date filter for this exact purpose: http://paularmstrong.github.io/swig/docs/filters/#date

Upvotes: 2

RaShe
RaShe

Reputation: 1880

I should use "safe"

Example:

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

Upvotes: 3

Related Questions