Meteor(空格键):如何使用“with”和“each”

Meteor(空格键):如何使用“with”和“each”,meteor,handlebars.js,meteor-blaze,spacebars,Meteor,Handlebars.js,Meteor Blaze,Spacebars,我有一个helper函数,它返回一个对象数组,数组中的每个对象都有一个包含键的对象key publisher。每个关键点都有一个对象 priceData:function(){ var colection=[ {contract:"nn",publishers:{GVM:{ask:1,bid:2},SET:{ask:6,bid:3}}}, {contract:"BB",publishers:{GVM:{ask:11,bid:99

我有一个helper函数,它返回一个对象数组,数组中的每个对象都有一个包含键的对象key publisher。每个关键点都有一个对象

 priceData:function(){

        var colection=[
            {contract:"nn",publishers:{GVM:{ask:1,bid:2},SET:{ask:6,bid:3}}},
            {contract:"BB",publishers:{GVM:{ask:11,bid:99},SET:{ask:23,bid:34}}}
        ]
        return colection
    }
现在在模板中,我试着这样使用它

<table class="table">
<tbody>
{{#each priceData}}
    <tr>
    {{#with publishers}}
            <td>{{ask}}</td>
            <td>{{bid}}</td>
            {{/with}}
        </tr>
    {{/each}}
    </tbody>
    </table>

{{{#每个价格数据}
{{{与出版商合作}
{{ask}
{{bid}}
{{/与}}
{{/每个}}

我可以在每次迭代中使用#with,因为它会产生这样的错误。如果没有,那么我如何在表中显示这样的集合信息呢?现在它的空表

每个和与都没有问题,您可以随意组合并嵌套它们。唯一需要记住的是上下文:每个块都深入上下文,但同时允许访问外部上下文(我个人不建议这样做)。因此,如果您删除所有打字错误并以这种方式使用整个代码:

<table class="table">
    <tbody>
        {{#each priceData}}
            <tr>
                {{#with publishers}}
                    <td>{{ask}}</td>
                    <td>{{bid}}</td>
                {{/with}}
            </tr>
        {{/each}}
    </tbody>
</table>

让我们解构整个代码,使图片更清晰

当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
然后链接到助手返回的内容,即

[{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}, {
    contract: "BB",
    publishers: {
        GVM: {
            ask: 11,
            bid: 99
        },
        SET: {
            ask: 23,
            bid: 34
        }
    }
}]
所以当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
您深入了解助手返回的内容的上下文,并迭代数组中的项。例如,第一个是

{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}
接下来你要做的是

{{#with publishers}}
    ...
{{/with}}
对于数组的第一项,上下文是

GVM: {
    ask: 1,
    bid: 2
},
SET: {
    ask: 6,
    bid: 3
}
其次是

GVM: {
    ask: 11,
    bid: 99
},
SET: {
    ask: 23,
    bid: 34
}
那你是在尝试

{{ask}}
这就是代码失败的地方,因为当前上下文中没有结构的
ask
属性。但是有属性
GVM
SET
。所以,选择一个你喜欢的,并像这样使用它:

{{GVM.ask}}

希望对您有所帮助。

每个
都没有问题,您可以根据自己的意愿组合它们并嵌套。唯一需要记住的是上下文:每个块都深入上下文,但同时允许访问外部上下文(我个人不建议这样做)。因此,如果您删除所有打字错误并以这种方式使用整个代码:

<table class="table">
    <tbody>
        {{#each priceData}}
            <tr>
                {{#with publishers}}
                    <td>{{ask}}</td>
                    <td>{{bid}}</td>
                {{/with}}
            </tr>
        {{/each}}
    </tbody>
</table>

让我们解构整个代码,使图片更清晰

当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
然后链接到助手返回的内容,即

[{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}, {
    contract: "BB",
    publishers: {
        GVM: {
            ask: 11,
            bid: 99
        },
        SET: {
            ask: 23,
            bid: 34
        }
    }
}]
所以当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
您深入了解助手返回的内容的上下文,并迭代数组中的项。例如,第一个是

{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}
接下来你要做的是

{{#with publishers}}
    ...
{{/with}}
对于数组的第一项,上下文是

GVM: {
    ask: 1,
    bid: 2
},
SET: {
    ask: 6,
    bid: 3
}
其次是

GVM: {
    ask: 11,
    bid: 99
},
SET: {
    ask: 23,
    bid: 34
}
那你是在尝试

{{ask}}
这就是代码失败的地方,因为当前上下文中没有结构的
ask
属性。但是有属性
GVM
SET
。所以,选择一个你喜欢的,并像这样使用它:

{{GVM.ask}}

希望对您有所帮助。

每个
都没有问题,您可以根据自己的意愿组合它们并嵌套。唯一需要记住的是上下文:每个块都深入上下文,但同时允许访问外部上下文(我个人不建议这样做)。因此,如果您删除所有打字错误并以这种方式使用整个代码:

<table class="table">
    <tbody>
        {{#each priceData}}
            <tr>
                {{#with publishers}}
                    <td>{{ask}}</td>
                    <td>{{bid}}</td>
                {{/with}}
            </tr>
        {{/each}}
    </tbody>
</table>

让我们解构整个代码,使图片更清晰

当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
然后链接到助手返回的内容,即

[{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}, {
    contract: "BB",
    publishers: {
        GVM: {
            ask: 11,
            bid: 99
        },
        SET: {
            ask: 23,
            bid: 34
        }
    }
}]
所以当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
您深入了解助手返回的内容的上下文,并迭代数组中的项。例如,第一个是

{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}
接下来你要做的是

{{#with publishers}}
    ...
{{/with}}
对于数组的第一项,上下文是

GVM: {
    ask: 1,
    bid: 2
},
SET: {
    ask: 6,
    bid: 3
}
其次是

GVM: {
    ask: 11,
    bid: 99
},
SET: {
    ask: 23,
    bid: 34
}
那你是在尝试

{{ask}}
这就是代码失败的地方,因为当前上下文中没有结构的
ask
属性。但是有属性
GVM
SET
。所以,选择一个你喜欢的,并像这样使用它:

{{GVM.ask}}

希望对您有所帮助。

每个
都没有问题,您可以根据自己的意愿组合它们并嵌套。唯一需要记住的是上下文:每个块都深入上下文,但同时允许访问外部上下文(我个人不建议这样做)。因此,如果您删除所有打字错误并以这种方式使用整个代码:

<table class="table">
    <tbody>
        {{#each priceData}}
            <tr>
                {{#with publishers}}
                    <td>{{ask}}</td>
                    <td>{{bid}}</td>
                {{/with}}
            </tr>
        {{/each}}
    </tbody>
</table>

让我们解构整个代码,使图片更清晰

当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
然后链接到助手返回的内容,即

[{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}, {
    contract: "BB",
    publishers: {
        GVM: {
            ask: 11,
            bid: 99
        },
        SET: {
            ask: 23,
            bid: 34
        }
    }
}]
所以当你使用

{{priceData}}
{{#each priceData}}
    ...
{{/each}}
您深入了解助手返回的内容的上下文,并迭代数组中的项。例如,第一个是

{
    contract: "nn",
    publishers: {
        GVM: {
            ask: 1,
            bid: 2
        },
        SET: {
            ask: 6,
            bid: 3
        }
    }
}
接下来你要做的是

{{#with publishers}}
    ...
{{/with}}
对于数组的第一项,上下文是

GVM: {
    ask: 1,
    bid: 2
},
SET: {
    ask: 6,
    bid: 3
}
其次是

GVM: {
    ask: 11,
    bid: 99
},
SET: {
    ask: 23,
    bid: 34
}
那你是在尝试

{{ask}}
这就是代码失败的地方,因为当前上下文中没有结构的
ask
属性。但是有属性
GVM
SET
。所以,选择一个你喜欢的,并像这样使用它:

{{GVM.ask}}

希望对您有所帮助。

您是否打算编写
{{{{with publisher.GVM}}
?您的
{{{{with}}
结束标记错误,您键入了
而不是
{/with}
。publisher对象可以有一组可变的键。所以不,我不知道是哪把钥匙。我不是有意纠正的。谢谢@saimeunt。我已经编辑过。@kyll的问题是,显示表中集合信息的最佳方式是什么。您的意思是写
{{{with publisher.GVM}}
?您的
{{{{with}}
结束标记错误,您键入了
而不是
{/with}
。publisher对象可以有一组可变的键。所以不,我不知道是哪把钥匙。我不是有意纠正的。谢谢@saimeunt。我已经编辑过。@kyll的问题是,显示表中集合信息的最佳方式是什么。您的意思是写
{{{with publisher.GVM}}
?您的
{{{{with}}
结束标记错误,您键入了
而不是
{/with}
。publisher对象可以有一组可变的键。所以不,我不知道是哪把钥匙。我不是有意纠正的。谢谢@saimeunt。我已经编辑了。@kyll的问题是什么是最好的编辑方法