为什么angular返回回调函数内部的函数
Why angular returns a function inside the callback function?
要定义Angular的过滤器,您应该编写:
angular.module('app', [])
.filter('mix', function () {
// Why do we return a function here?
return function (input) {
var output;
// doing some business here
return output;
};
});
为什么Angular在传递给filter
函数的回调函数中返回一个函数?为什么不将其用作过滤器定义的占位符和模板呢?这种语法对开发人员一点也不友好。Angular在使用这个函数嵌套时有什么限制?这是一种模式吗?
我想看起来合乎逻辑和正常的(基于大量使用jQuery和其他库)是这样的语法:
angular.module('app', [])
.filter('mix', function (input) {
var output;
// doing some business here
return output;
});
这一切都与Angular进行依赖注入的方式有关。
您希望能够将服务注入过滤器,但返回一个不使用依赖项注入的函数。
例如,假设您的过滤器使用$location
服务:
angular.module('app', [])
.filter('mix', function ($location) {
// Location got injected.
// create some private functions here
function process(input) {
// do something with the input and $location
}
return function (input) {
return process(input);
};
});
您也可以从这个例子中看到,通过这种方式可以创建仅对此筛选器可用的"私有"函数。
相关文章:
- 调用函数内部的函数
- javascript函数内部的代码用逗号而不是分号分隔
- javascript无法重新定义函数内部的全局对象
- 如何从函数内部的这个变量中获取值
- appendChild在函数外部工作,但在函数内部不工作
- 在jquery函数内部设置来自jquery函数的var;t运行
- 一个'var'在函数内部声明
- 为什么(如何)'这'从函数内部调用回调时发生更改
- 函数内部未定义的输入值
- 在Meteor中如何将数据从函数内部复制到其他模板
- 如果在构造函数内部为else,则Javascript是可选的
- 我对“;返回true"嵌套函数内部;t工作
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- javascript,将参数传递给函数内部的闭包中的回调
- 匿名自执行js函数内部的全局变量在外部仍然可用
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 访问函数内部的Polymer方法
- 更改函数内部的全局变量而不调用它
- 如何在函数内部为jquery工具提示调用不同的var字符串
- 构造函数内部的事件处理