Javascript 使用mongoDB数据初始化引导colorpicker
我有一个meteor应用程序,我添加了插件作为一个组件。 但我想用MongoDB集合中的值来初始化它。 因此,我初始化输入文本(类似于Javascript 使用mongoDB数据初始化引导colorpicker,javascript,mongodb,meteor,color-picker,Javascript,Mongodb,Meteor,Color Picker,我有一个meteor应用程序,我添加了插件作为一个组件。 但我想用MongoDB集合中的值来初始化它。 因此,我初始化输入文本(类似于#32a214),但我不知道如何初始化右侧小方框中的颜色 在我的html文件中,我有: <div class="form-group"><label class="col-sm-2 control-label">Color text image<br/></label> <div class="col-
#32a214
),但我不知道如何初始化右侧小方框中的颜色
在我的html文件中,我有:
<div class="form-group"><label class="col-sm-2 control-label">Color text image<br/></label>
<div class="col-sm-10">
<div id="colorText" class="input-group colorpicker-component">
<input type="text" value={{textImageColor}} id="textImageColor" placeholder="Choose a color" class="form-control" />
<span class="input-group-addon"><i></i></span>
</div>
</div>
</div>
所以我想用数据库中的值替换“#32a214”。
我想这样做:
color: {{textImageColor}}
但它不起作用。
那么,你知道我怎么做吗
编辑:
我在服务器端有一个javascript代码:
Meteor.publish('tiles', function(){
return tiles.find();
});
我通过助手获取数据:
Template.yourTile.helpers({
'textImageColor': function(){
var userID = Meteor.userId();
var doc = tiles.findOne({createBy: userID });
var textImageColor = doc && doc.textImageColor;
if(textImageColor == ""){
return "";
}else{
return textImageColor;
}
}
}
因此,如果我在html文件中调用{{textmagecolor}}
,它会工作,但在javascript文件中不会。
我想可能是因为货物太多了。颜色是在渲染中初始化的,因此如果我用
{{textImageColor}}
替换颜色,它将不起作用,因为该值尚未从mongoDB集合加载。因此,可能我需要等待获得该值,但我不知道如何实现该值。要成功发布/订阅,您需要以下所有内容:
tiles = new Mongo.Collection('tiles');
在服务器上运行时,它将确保数据库中存在集合。在客户端上,它将为运行客户端find()的集合创建一个mini mongo实例。它还将为这些收藏创建一个引用“tiles”。要成功发布/订阅,您需要以下所有内容:
tiles = new Mongo.Collection('tiles');
在服务器上运行时,它将确保数据库中存在集合。在客户端上,它将为运行客户端find()的集合创建一个mini mongo实例。它还将创建对这些集合的引用“tiles”。您是否有任何服务器代码从数据库中读取该值,并通过Meteor方法或通过发布该值使其可用?我编辑我的问题。所以我有一个服务器代码,它从数据库中读取值并发布它。就像我在编辑中说的,可能是因为值还没有加载。你知道我的意思和怎么做吗?你在订阅数据的客户机上有代码吗?在为集合设置变量的客户机和服务器上有相同的代码吗?我有一个订阅文件:
Meteor.subscribe('tiles')代码>,我在助手中设置了变量。我使用的所有代码都在问题和订阅文件中。我没有了。你有没有任何服务器代码从数据库中读取该值,并通过Meteor方法或通过发布该值使其可用?我编辑我的问题。所以我有一个服务器代码,它从数据库中读取值并发布它。就像我在编辑中说的,可能是因为值还没有加载。你知道我的意思和怎么做吗?你在订阅数据的客户机上有代码吗?在为集合设置变量的客户机和服务器上有相同的代码吗?我有一个订阅文件:Meteor.subscribe('tiles')代码>,我在助手中设置了变量。我使用的所有代码都在问题和订阅文件中。我什么都没有了。我也有这个!我忘了问这个问题,但我在collections/tilesDetails.js的代码中有这个问题。因此,我认为问题不在于此。您还可以安装meteor toys()以查看您的订阅在客户端上是否仍处于活动状态。如果没有,那么客户端find()将不会返回任何内容。我想问题出在装载上。它在从数据库获取值之前初始化colorpicker。因此,我更改了colorpicker插件中的html代码,以传递颜色:
。所以,现在它起作用了!谢谢你的帮助!我也有这个!我忘了问这个问题,但我在collections/tilesDetails.js的代码中有这个问题。因此,我认为问题不在于此。您还可以安装meteor toys()以查看您的订阅在客户端上是否仍处于活动状态。如果没有,那么客户端find()将不会返回任何内容。我想问题出在装载上。它在从数据库获取值之前初始化colorpicker。因此,我更改了colorpicker插件中的html代码,以传递颜色:
。所以,现在它起作用了!谢谢你的帮助!