如何在mongoDB集合中存储流星助手,以及我们如何从mongoDB集合中呈现它

时间:2015-12-31 04:55:28

标签: node.js mongodb templates meteor

如何在mongoDB集合中存储流星助手,以及我们如何从mongoDB集合中呈现它?

例如,我在mongo集合中有以下字段。

"templateName":"hello {{userName}} <div> Welcome to Store</div>"

在我想要的.js文件中

userName:function(){
    return "Foo";
}

2 个答案:

答案 0 :(得分:2)

创建一个新的集合来保存模板:

MyTemplates = new Mongo.Collection('MyTemplates');

将模板插入此集合中。

在要加载存储在mongodb中的模板的模板文件中,编写一个帮助程序,如下所示:

   Template.YOURTEMPLATENAME.helpers({
        'getMyDynamicTemplate': function () {
          Template.hello = Template.fromString(MyTemplates.findOne({"templateName":"blablabla"}).templateString);
          return 'hello';
        }
    });

将以下代码放在模板的html:

{{> Template.dynamic template=getMyDynamicTemplate}}

对于Template.dynamic,请参阅here。最后请参考here从字符串

填充模板

答案 1 :(得分:1)

我遇到了类似的问题,并以Servan的答案为基础进行了解决。谢谢!!!

我没有使用findOne与我合作,因此我将其更改为find(...).fetch()

首先我添加了包: meteor add numtel:template-from-string

我的助手是:

Template.YOURTEMPLATENAME.helpers({
      'getMyDynamicTemplate': function () {
        var MyHTML = MyTemplates.find({},{HTML:1}).fetch();
        Template.hello = Template.fromString(MyHTML[0].HTML);
        return 'hello';
      }
  });

然后将此代码放入我的模板&#; html:

{{> Template.dynamic template=getMyDynamicTemplate}}

它很漂亮!