Javascript 将助手属性链接到Meteor中的div
我实际上在为一些简单的事情而挣扎;我希望在模板“fullArticle”上执行我的助手 我尝试将tempate扭曲成div,但在div上使用name HTML属性是不正确的。因此我尝试使用一个类,但在控制台上仍然没有任何内容 我可以在我的助手上写下这样的内容:Javascript 将助手属性链接到Meteor中的div,javascript,meteor,Javascript,Meteor,我实际上在为一些简单的事情而挣扎;我希望在模板“fullArticle”上执行我的助手 我尝试将tempate扭曲成div,但在div上使用name HTML属性是不正确的。因此我尝试使用一个类,但在控制台上仍然没有任何内容 我可以在我的助手上写下这样的内容: '.article': function(){...} 或者更好地使用数据HTML属性 '[data-name="article"]': function(){...} 或者甚至直接针对模板名称(我在下面的代码中尝试执行的操作: fu
'.article': function(){...}
或者更好地使用数据HTML属性
'[data-name="article"]': function(){...}
或者甚至直接针对模板名称(我在下面的代码中尝试执行的操作:
fullArticle: function(){...}
fullArticle.html
<template name="fullArticle">
<div class="article">
{{_id}}
<h1>Full article {{title}}</h1>
<h3><small>{{date}}</small></h3>
<p>{{content}}</p>
</div>
</template>
routes.js
if (Meteor.isClient){
Template.fullArticle.helpers({
fullArticle: function(){
console.log("id is : " + this._id);
//return Articles.findOne({_id: id});
}
});
}
Router.route(':categoryName/article/:_id', function(){
this.render('fullArticle', {
data: function(){
return {_id: this.params._id};
}
});
});
您知道如何使其工作,或提出更好的解决方案吗?下面您可以找到
典型模式
如何从数据库中获取数据并在客户端显示。请将其用作灵感
在服务器端的“创建发布”功能中:
Meteor.publish('article',function(articleId){
check(articleId, String);
return Articles.find({_id:articleId})
})
routes.js
fullArticle.html
{{{u id}}
全文{{title}
{{date}}
{{content}}
从路由访问DB是一种好做法吗?从助手处访问不是更好吗?感谢您的回答btwKuba的解决方案是可靠的,让路由返回实际的文档,而不仅仅是\u id
。在大多数情况下,使用模板助手返回数据也很好,但是当您有一个带有\u id参数的路由时在路线的数据:
功能中更常见。
Router.route(':categoryName/article/:_id',{
name:'full.article',
template: 'fullArticle',
waitOn: function () {
return Meteor.subscribe( 'article', this.params._id ),
},
data : function(){
return Articles.findOne( { _id: this.params._id } )
}
})
<template name="fullArticle">
<div class="article">
{{_id}}
<h1>Full article {{title}}</h1>
<h3><small>{{date}}</small></h3>
<p>{{content}}</p>
</div>
</template>