Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 如何处理流星变量&;与miniMongo有分歧_Javascript_Variables_Methods_Meteor - Fatal编程技术网

Javascript 如何处理流星变量&;与miniMongo有分歧

Javascript 如何处理流星变量&;与miniMongo有分歧,javascript,variables,methods,meteor,Javascript,Variables,Methods,Meteor,我是meteor.js的新手 在我正在开发的应用程序中,用户可以在网站上发布内容,用户可以对其进行评论,就像在社交网络上一样。那么我有: {{#each posts}} {{>onePost}} {{/each}} 在我的onePost模板中,我打印onePost文本及其发布日期。但是由于newdate(),日期已经添加到mongoDB中在末尾添加GMT数据 我想知道我是否可以将字符串缩短为x字符。我知道在javascript中,我们必须使用.substring(int,int)方法

我是meteor.js的新手

在我正在开发的应用程序中,用户可以在网站上发布内容,用户可以对其进行评论,就像在社交网络上一样。那么我有:

{{#each posts}}
  {{>onePost}}
{{/each}}
在我的onePost模板中,我打印onePost文本及其发布日期。但是由于
newdate(),日期已经添加到mongoDB中在末尾添加GMT数据

我想知道我是否可以将字符串缩短为x字符。我知道在javascript中,我们必须使用
.substring(int,int)方法
,但是如何将这样的成员应用到meteor变量上呢

<h6>date</h6>
以下是我如何处理我的收藏:

Template.post.events({
    'keyup .comment':function(evt,tmpl){
        if(evt.which === 13 && !evt.shiftKey){
            var commenttext = tmpl.find('.comment').value;
            var options = {text:commenttext,parent:this._id};
            Meteor.call('addPost',options);
            $('.comment').val('').select().focus();
        }
    }
})
Posts = new Mongo.Collection('posts');

Meteor.methods({
//{text:'',owner:'',date:'',parent:''}
'addPost':function(options){
    var post = {
        text:options.text,
        owner:Meteor.userId(),
        date:new Date(),
        parent:options.parent
    }
    Posts.insert(post);
},
'removePost':function(id){
    Posts.remove({_id:id});
},
'removeAllPosts':function(){
    Posts.remove({});
}
})

既然我叫Meteor.call('removeAllPosts');在Firefix js控制台中,我发布的所有内容都有以下文本:[object]

我认为,出于我不知道的原因,它现在把查询的返回看作是一个实例列表,但是由于它正确地显示了作者的名字,我认为它来自于集合中的插入。但是我没有用nsertion函数更改任何内容。

您可以在助手中这样做:

{{date.toString.substring 0 3}}
但是,我建议改用助手:

Template.myTemplate.helpers({
formattedDate:函数(){
返回此.date.toString()子字符串(0,3);
}
});
{{{#每个帖子}
{{formattedDate}}
{{>onePost}
{{/每个}}
或者,如果您想使其更通用:

Template.myTemplate.helpers({
缩短:功能(数据){
返回data.toString()子字符串(0,3);
}
});
{{{#每个帖子}
{{缩短日期}}
{{>onePost}
{{/每个}}

关于助手使用的最佳解释。非常感谢你!是的,很好。我更新了答案以反映这一点,但是我仍然认为应该在这里使用助手。将格式化逻辑直接放在模板中似乎是一个复杂的问题。流星重置并没有改变任何问题!但我完全不知道我是如何做到的:我只是重写了我的全部代码。
{{date.toString.substring 0 3}}