我想使用Meteor建立一个网站。这里只是我的html代码的一个例子。
<head>
<title>version_0.0.4</title>
</head>
<body>
<h1>Welcome to Meteor!</h1>
{{> myTemplate}}
</body>
<template name="myTemplate">
<p id="&firstContent">Test to show my first content</p>
<p id="&secondContent">Test to show my second content</p>
<button type="button" id="save">Save content</button>
</template>
现在当有人按下保存内容时,我想用“&amp;”保存所有id的innerHtml在我的数据库的开头签名,工作正常。
/* ----- functions to include ----- */
function inputContent(collection, inhalt, alteID){
var id = collection.insert({
content: inhalt,
htmlId: alteID
});
return id;
}
Template.myTemplate.events({
'click #save': function () {
$(document).ready(function() { //Damit der Code erst ausgeführt wird, wenn der DOM geladen ist
var all = $('*[id^="&"]'); // Das "&" Zeichen ist der Identifier/ in all speichern aller elemente
console.log(all);
for (var i = 0; i < all.length; ++i) {
var item = all[i]; //Durch all iterieren
var idNeuesItem = inputContent(textList, item.innerHTML, item.id);//Enthält ID über Callback
console.log("Gespeichert :" + textList.findOne({_id: idNeuesItem}).content);
}
});
}
});
在我做了这些之后,我手动删除了innerHtml代码,以便我的htmt文件看起来像这样:
<template name="myTemplate">
<p id="&firstContent"></p>
<p id="&secondContent"></p>
<button type="button" id="save">Save content</button>
现在我希望能够在我的id中显示内容,这样对于用户来说就像之前一样,但内容来自数据库。我已经尝试了不同的版本,但没有一个工作。有人可以帮帮我吗?对不起,这是一个不起眼的问题,我对流星很新... 谢谢你的帮助
答案 0 :(得分:0)
您需要编写一个帮助方法来发布您存储到数据库中的JSON对象的某些属性。
你的看起来像这样(写在服务器端)
Template.myTemplate.helpers({
item: function () {
return itemList.findOne({_id: idNeuesItem}); //retrieve item
}
});
然后你必须把它放在这样的模板中:
<p id="&firstContent">
{#with item}
{{content}}
{/with]
</p>
在此处阅读有关使用Meteor和Spacebars的更多信息: https://www.discovermeteor.com/blog/a-guide-to-meteor-templates-data-contexts/