我正在寻找一个在Angular中会做这样的事情的函数:
var testValues = {
name: 'John Doe',
number: 15
}
somefunction('Hello, {{name}}, you are {{number}} years old', testValues)
// returns 'Hello, John Doe, you are 15 years old'
我知道$ eval会做类似的事情,但它里面不能有双括号。
答案 0 :(得分:3)
您可以手动编译模板。注入$scope
服务并针对$scope.model = {
name: 'tom'
};
$compile('<div>Hello {{model.name}}</div>')($scope);
对象编译模板:
$( window ).load(function() {
function go() {
$("#bannerkingbong").load("banner_king_bong.php");
setTimeout(function(){
$('#bannerkingbong a').remove();
}, 6000);
$("#bannerultra").load("banner_ultra420.php");
setTimeout(function(){
$('#bannerultra a').remove();
}, 7500);
}
go();
});
这将返回一个围绕DOM对象的jqLite对象。
答案 1 :(得分:3)
您可能正在寻找$interpolate服务。
文档中的示例:
var $interpolate = ...; // injected
var exp = $interpolate('Hello {{name | uppercase}}!');
expect(exp({name:'Angular'})).toEqual('Hello ANGULAR!');
$interpolate
就像在模板中一样编译一个字符串,并返回一个使用提供的上下文输出字符串的函数。