2013-11-05 93 views
0

我正在制作我的第一个Meteor应用程序 - 正则表达式匹配器是我制作的第一个组件。它将通过用span标记包围匹配来突出显示可编辑字符串中的匹配项目。将HTML传递给Meteor中的模板

我想出如何在香草的JavaScript创建匹配周围的标签: http://jsbin.com/iXUVUJA/1/

但我添加它变成流星模板的方式,标签被显示在浏览器。有没有办法在浏览器中将标签读为html?

这里是我的.js文件中的相关代码:

var str = "There are thousands and thousands of uses for corn... All of which I will tell you about right now."; 
var regEx = /[A-Z]/g; 

if (Meteor.isClient) { 
    Template.sampleText.someText = function() { 
    return str.replace(regEx, ("span class='highlighted'>" + "$&" + "</span>")); 
    }; 
} 

这里是从我的.html文件的相关代码:

<template name="sampleText"> 
    {{someText}} 
</template> 

这是从页面上的输出服务器:

跨度类=“突出”>有用途的玉米......跨度类=“突出”>所有这一切都跨越了阶级=“突出”>我会告诉你现在的成千上万。

回答

0

您可以使用Handlebars.SafeString,如把手documentation看到。在你的情况下你可以这样做:

if (Meteor.isClient) { 
    Template.sampleText.someText = function() { 
    var element = str.replace(regEx, ("span class='highlighted'>" + "$&" + "</span>")); 
    return new Handlebars.SafeString(element); 
    }; 
}