javascript - AngularJS - $interpolate 与 $filter

标签 javascript angularjs angularjs-filter angularjs-interpolate

在 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) 的返回值视为一个编译模板,稍后使用一组变量进行渲染。

相比之下,$filter(NAME) 返回一个先前注册为名称为 NAME 的过滤器的函数。例如,“大写”过滤器将其参数转换为大写,“数字”过滤器格式化数字,“日期”过滤器格式化日期对象,并且您可以定义自己的命名过滤器,以使用其参数执行任意操作。

关于javascript - AngularJS - $interpolate 与 $filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39546316/

相关文章:

javascript - 从对象中删除未定义的属性

javascript - 在 PostgreSQL 中将 JSON 格式转换为关系数据?

javascript - 使用追加功能时 ng-click 不起作用

frameworks - JS缩放框架(谷歌地图风格)

javascript - Angularjs 过滤器不适用于 ng-repeat

javascript - AngularJS 中使用整数字段进行过滤

javascript - Angularjs:对象数组中的 ng-repeat 过滤器对象

javascript - AngularJs iOS App - 关于背景模糊的弹出屏幕的建议

css - 如何在单页 MEAN 堆栈应用程序中使用 addy osmani 的 uncss

javascript - Node 和 Angular cookie 路径