Templates Meteor模板和模板助手
这是我无法理解也无法解决的事情 举个简单的例子 模板帮助程序:Templates Meteor模板和模板助手,templates,meteor,helpers,Templates,Meteor,Helpers,这是我无法理解也无法解决的事情 举个简单的例子 模板帮助程序: Template.bookDetails.helpers({ book: function() { console.log("Current router :_id: " + Router.current().params._id); return Books.findOne(Router.current().params._id); } 模板的某些行: <template name
Template.bookDetails.helpers({
book: function() {
console.log("Current router :_id: " + Router.current().params._id);
return Books.findOne(Router.current().params._id);
}
模板的某些行:
<template name="bookDetails">
...
{{#with book}}
Title: {{book.title}} <br>
Author: {{book.author}} <br>
ISBN: {{book.isbn}} <br>
...more...
{{/with}}
...
</template>
...
{{{带书}
书名:{{book.Title}}
作者:{{book.Author}}
ISBN:{{book.ISBN}}
更多
{{/与}}
...
问题是:为什么我在模板中看到print console.log()的次数和callbook.some\u字段的次数一样多?
正常吗?是的,这是正常的,因为您的代码实际上多次调用
book
帮助程序
您必须将代码替换为以下代码以使事情更简单:
{{#with book}}
Title: {{title}} <br>
Author: {{author}} <br>
ISBN: {{isbn}} <br>
{{/with}}
{{{带书}
标题:{{Title}}
作者:{{Author}}
ISBN:{{ISBN}}
{{/与}}
带有结构的
#将当前数据上下文设置为帮助程序返回的值,然后您可以访问每个属性,而无需参考书籍
除非代码中有其他内容正在更改该帮助程序函数的数据上下文,否则您只能查看日志一次。也就是说,您的路由器.current().params.\u id
是否有任何变化?也。。。如果愿意,可以使用{{title}}
而不是{{book.title}}