首页 > 解决方案 > 我的 EJS 的代码在一个字符串中,我无法添加数组索引。如何添加索引号?

问题描述

第一个和第二个代码不运行。但是,当我写一个数字时,第三个代码会运行。我为'number'写了一个值,例如像这样,var number = 1;。

我试过这段代码,

alert("<%- graphic[0].graphics_objects[' + number + ']._id -%>");

但它没有..我怎样才能在里面写一个索引号?

第一个代码:

alert("<%- graphic[0].graphics_objects[number]._id -%>");

第二个代码:

alert("<%- graphic[0].graphics_objects[<%=number%>]._id -%>");

第三个代码:

alert("<%- graphic[0].graphics_objects[1]._id -%>");

标签: javascriptarraysnode.jsstringejs

解决方案


这是我的图形模型,


var graphicSchema = new mongoose.Schema({
    project_id: {
        type: String,
        ref: 'Project',
        required: true
    },
    title: {
        type: String
    }
    graphics_objects: [{
        point_pool_id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'Point_pool'
            //required: true
        }
        value: {
            type: String
        }
    }]
});

module.exports = restful.model('Graphic', graphicSchema);

这是 project.ejs


    for (var number= 0; number< '<%-graphic[0].graphics_objects.length-%>'; number++) {
        go_id = '<%- graphic[0].graphics_objects[number]._id -%>';

    }

推荐阅读