ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-如何在运行时在流星中编译新模板?

2019-10-31 16:38:20  阅读:253  来源: 互联网

标签:templates meteor handlebars-js javascript


如何使用Handlebars.js在运行时在流星中编译新模板?

var source   = '<input type="text" value"{{title}}" />' ;    
var template = ***???***.compile(my_new_template, source);
var context = {title: "My New Post", body: "This is my first post!"}
Template.my_new_template.events({
  'click': function (e,sender) {
    var that=this;
  }
});
var html = Template.my_new_template(context);
$('#workspace').append(html);

解决方法:

当前无法直接编译Handlebars字符串. Meteor包装了Handlebars,仅提供了一个ast(抽象语法树)的编译方法,而不是直接提供字符串.但是,您可以提供自己的函数,该函数不是Handlebars函数.它不是公共API,但是您可以通过这种方式创建Meteor模板(除非API发生更改,否则现在是这样):

< 0.6.5:

var tmpl = Meteor._def_template("templateName", function () { 
    return "some html string"; 
});

0.6.5

var tmpl = Meteor.__define__("templateName", function () { 
    return "some html string"; 
});

因此,这将在Template命名空间中创建一个模板,并为模板提供所有良好的Meteor功能(例如,反应性,事件,地标等).

您还可以通过在Spark(Meteor的基础渲染引擎)上观看这一系列截屏视频,来了解有关幕后发生情况的更多信息.

http://www.eventedmind.com/posts/meteor-rendering-template-functions
http://www.eventedmind.com/posts/meteor-introduction-to-rendering

标签:templates,meteor,handlebars-js,javascript
来源: https://codeday.me/bug/20191031/1976948.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有