嵌入式文档的Spacebars语法

时间:2015-03-24 04:50:20

标签: javascript meteor spacebars

我对公司的财务报表信息有以下架构:

FinancialsSchema = new SimpleSchema({
revenue: {
    type: Number,
    label: "Revenue",
    min: 0,
    optional: true
}
});

TimeSchema = new SimpleSchema({
period: {
    type: String,
    label: "Period",
    optional: true
},
financials: {
    type: FinancialsSchema,
    optional: true
}
});

CompanySchema = new SimpleSchema({
name: {
    type: String,
    label: "Company Name"
},
time: {
    type: TimeSchema,
    optional: true
}
});

Companies.attachSchema(CompanySchema);

我正在尝试使用空格键在表格中显示LTM,FY + 1和FY + 2收入数据。我已经在我的收藏中有以下内容,并通过控制台测试收入和EBITDA数字都是在LTM下捕获的。

    Companies.insert({
    name: "Example",
    sector: "Industrial",
    status: "Public",
    time: {
        period: "LTM",
        financials: {
            revenue: "200",
            ebitda: "100"
        }
    }
});

我原本认为{{期间(" LTM")。收入}}会起作用,但已经尝试了几十种变化,无法将数字显示在表格中。感谢。

1 个答案:

答案 0 :(得分:0)

您可能希望查看Spacebars Readme,因为我认为{{period("LTM").revenue}}不是有效的空格键。函数通过空格分隔函数名称和参数来调用,如:{{functionName arg1 arg2}}

为了得到你想要的东西,你需要首先得到感兴趣的副本,可能还有一个返回Companies.findOne({period: "LTM"})的助手。

将您感兴趣的公司作为数据上下文后,您需要使用{{time.financials.revenue}}{{time.financials.ebitda}}来获取收入和EBITDA值。您编写架构的方式,每个公司条目只能有一个收入和EBITDA值,并且它们存储在time.financials对象中。