一尘不染

angularjs中angular.bind的用途是什么?在哪里使用?

angularjs

Angularjs中angular.bind的用途是什么。请提供一个例子。无法从https://docs.angularjs.org/api/ng/function/angular.bind了解


阅读 205

收藏
2020-07-04

共1个答案

一尘不染

Angular.bind是一种实用功能,它结合了function.bind部分功能应用程序中的功能

绑定 (通常)是您想将当前上下文绑定到函数,但实际上在以后执行的想法。

在进行HTTP调用$http并处理Promise 时,这在Angular中很有用:

$http.get('url').then(angular.bind(this, 
    function(response) { 
        this.response = response; //use this (which is the bound context) 
    });

在上面的示例中,除非我们明确声明,否则this函数内部将
不会this$http上下文中引用bind。这是(在回调中)一个常见的JavaScript问题,因为它动态地绑定了上下文(这与大多数流行的面向类的语言不同)。

*当您要创建已经传递了 某些 参数的函数时,可以使用 *部分应用程序 。一个非常简单的例子:

function add(x, y) { 
    return x + y; 
}

var add10To = angular.bind(this, add, 10);

console.log(add10To(5));
// outputs 15

有了Angular.bind,Angular团队便将这两个打包在一起。

2020-07-04