Angularjs中angular.bind的用途是什么。请提供一个例子。无法从https://docs.angularjs.org/api/ng/function/angular.bind了解
Angular.bind是一种实用功能,它结合了function.bind和部分功能应用程序中的功能。
绑定 (通常)是您想将当前上下文绑定到函数,但实际上在以后执行的想法。
在进行HTTP调用$http并处理Promise 时,这在Angular中很有用:
$http
$http.get('url').then(angular.bind(this, function(response) { this.response = response; //use this (which is the bound context) });
在上面的示例中,除非我们明确声明,否则this函数内部将 不会this在$http上下文中引用bind。这是(在回调中)一个常见的JavaScript问题,因为它动态地绑定了上下文(这与大多数流行的面向类的语言不同)。
this
bind
*当您要创建已经传递了 某些 参数的函数时,可以使用 *部分应用程序 。一个非常简单的例子:
function add(x, y) { return x + y; } var add10To = angular.bind(this, add, 10); console.log(add10To(5)); // outputs 15
有了Angular.bind,Angular团队便将这两个打包在一起。