我在Meteor上安装了标记包:
meteor add markdown并成功地测试:
<body>
{{#markdown}}
#Hello world!#
{{/markdown}}
</body>好的!
现在,我想从一个文件中导入一个减价,我试过这样做:
if (Meteor.isClient) {
Session.set("markdown_data","MDFile.md");
Template.myTemplate.helpers({
markdown_data: function() {
return Session.get("markdown_data");
}
});
}在html中:
<body>
{{#markdown}}{{{markdown_data}}}{{/markdown}}
</body>但是没有任何东西出现,无论是在网页上,还是在网络控制台或终端上。
我哪里错了?
更新-工作守则
if (Meteor.isClient) {
Markdown = new Mongo.Collection("markdown");
Template.myTemplate.helpers({
markdown_data: function() {
var markdown = Markdown.findOne();
return markdown && markdown.data;
}
});
}
if (Meteor.isServer) {
Markdown = new Mongo.Collection("markdown");
Meteor.startup(function () {
if(Markdown.find().count()===0){
Markdown.insert({
data: Assets.getText("teamProgramming.md")
});
}
});
}发布于 2015-03-23 14:36:55
它不是这样工作的,您应该将您的标记文件放在私有目录下,作为一个资产服务器端加载它,然后使用一个集合将它发送到客户机:
私有/MDFile.md
#Hello world!#lib/collections/markdown.js .lib
Markdown=new Mongo.Collection("markdown");服务器/startup.js
Meteor.startup(function(){
if(Markdown.find().count()===0){
Markdown.insert({
data: Assets.getText("MDFile.md");
});
}
});服务器/集合/markdown.js.
Meteor.publish(function(){
return Markdown.find();
});client/views/main.html
<body>
{{#markdown}}
{{markdownData}}
{{/markdown}}
</body>client/views/main.js
Template.body.helpers({
markdownData:function(){
var markdown=Markdown.findOne();
return markdown && markdown.data;
}
});https://stackoverflow.com/questions/29212859
复制相似问题