我有一個流星應用程序,並添加了插件colorpicker作爲組件。 但我想用一個MongoDB集合中的值來初始化它。 所以我初始化輸入文本(類似#32a214
),但我不知道如何初始化在右邊的小廣場的顏色。使用mongoDB數據初始化引導程序colorpicker
在我的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>
在我的JavaScript文件,我有:
Template.yourTile.rendered = function(){
$('#colorText').colorpicker({
color: "#32a214"
});
}
所以我想從數據庫中值來代替 「#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;
}
}
}
所以,如果我叫{{textImageColor}}
在一個html文件中,它可以工作,但不在JavaScript文件中。 我想這可能是因爲加載。顏色在渲染時初始化,所以如果我用{{textImageColor}}
替換顏色,它不起作用,因爲值尚未從mongoDB集合中加載。所以也許我需要等待有價值,但我不知道該怎麼做。
您是否有任何服務器代碼正在從數據庫中讀取該值,並通過Meteor方法或通過發佈它來使其可用? – zim
我編輯我的問題。所以我有一個服務器代碼,它讀取數據庫中的值併發布它。 所以就像我在編輯中所說的,也許是因爲這個值還沒有加載。 你知道我的意思嗎?怎麼做? – Adrien
您是否在訂閱數據的客戶端上具有代碼,並且在爲客戶端和服務器設置相同的代碼以設置該集合的變量? – zim