AngularJS - $interpolate 与 $filter
AngularJS - $interpolate vs $filter
在AngularJS中,$filter
提供了一种格式化我们显示给用户的数据的方法。
然而,$interpolate
也允许我们实时更新一个字符串
文本。
$interpolate
和 $filter
彼此相关吗?这两者在概念上有何不同?
您可以将 $interpolate() 视为专门的过滤器。
var interpolationFunction = $interpolate('{{thing}} is {{color}}.');
var grass = {thing: 'Grass', color: 'green'};
console.log(interpolationFunction(grass));
// Or just.
console.log(interpolationFunction({thing: 'Milk', color: 'white'}));
console.log(interpolationFunction({thing: 'The sky', color: 'blue'}));
这将产生:
Grass is green.
Milk is white.
The sky is blue.
您可以将 $interpolate(STRING) 的 return 值视为编译后的模板,稍后使用一组变量进行渲染。
相比之下,$filter(NAME) return 是一个之前注册为名为 NAME 的过滤器的函数。例如,"uppercase" 过滤器将其参数转换为大写,"number" 过滤器格式化数字,"date" 过滤器格式化日期对象,您可以定义自己的命名过滤器,用它的参数做任意事情.
在AngularJS中,$filter
提供了一种格式化我们显示给用户的数据的方法。
然而,$interpolate
也允许我们实时更新一个字符串
文本。
$interpolate
和 $filter
彼此相关吗?这两者在概念上有何不同?
您可以将 $interpolate() 视为专门的过滤器。
var interpolationFunction = $interpolate('{{thing}} is {{color}}.');
var grass = {thing: 'Grass', color: 'green'};
console.log(interpolationFunction(grass));
// Or just.
console.log(interpolationFunction({thing: 'Milk', color: 'white'}));
console.log(interpolationFunction({thing: 'The sky', color: 'blue'}));
这将产生:
Grass is green.
Milk is white.
The sky is blue.
您可以将 $interpolate(STRING) 的 return 值视为编译后的模板,稍后使用一组变量进行渲染。
相比之下,$filter(NAME) return 是一个之前注册为名为 NAME 的过滤器的函数。例如,"uppercase" 过滤器将其参数转换为大写,"number" 过滤器格式化数字,"date" 过滤器格式化日期对象,您可以定义自己的命名过滤器,用它的参数做任意事情.