Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将助手属性链接到Meteor中的div_Javascript_Meteor - Fatal编程技术网

Javascript 将助手属性链接到Meteor中的div

Javascript 将助手属性链接到Meteor中的div,javascript,meteor,Javascript,Meteor,我实际上在为一些简单的事情而挣扎;我希望在模板“fullArticle”上执行我的助手 我尝试将tempate扭曲成div,但在div上使用name HTML属性是不正确的。因此我尝试使用一个类,但在控制台上仍然没有任何内容 我可以在我的助手上写下这样的内容: '.article': function(){...} 或者更好地使用数据HTML属性 '[data-name="article"]': function(){...} 或者甚至直接针对模板名称(我在下面的代码中尝试执行的操作: fu

我实际上在为一些简单的事情而挣扎;我希望在模板“fullArticle”上执行我的助手

我尝试将tempate扭曲成div,但在div上使用name HTML属性是不正确的。因此我尝试使用一个类,但在控制台上仍然没有任何内容

我可以在我的助手上写下这样的内容:

'.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>