Angular评估表达式,就好像它在HTML中一样

dya*_*ang 5 javascript angularjs

我正在寻找一个在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'
Run Code Online (Sandbox Code Playgroud)

我知道$ eval做了类似的事情,但它里面不能有双括号.

pla*_*mut 3

您可能正在寻找$interpolate服务。

文档中的示例:

var $interpolate = ...; // injected
var exp = $interpolate('Hello {{name | uppercase}}!');
expect(exp({name:'Angular'})).toEqual('Hello ANGULAR!');
Run Code Online (Sandbox Code Playgroud)

$interpolate就像在模板中一样编译字符串,并返回一个使用提供的上下文输出字符串的函数。