angularjs에서 angular. bind의 용도는 무엇입니까?어디에 쓰나요?
Angularjs에서 angular.bind의 용도는 무엇입니까?예를 들어 주시기 바랍니다.https://docs.angularjs.org/api/ng/function/angular.bind 에서 이해할 수 없습니다.
Angular.bind는 function.bind와 부분 기능 적용의 기능성을 결합한 유틸리티 기능입니다.
바인딩(일반적으로 바인딩)은 현재 컨텍스트를 함수에 바인딩하지만 실제로는 나중에 실행한다는 개념입니다.
이것은 다음과 같이 HTTP 통화를 할 때 각도에서 유용할 수 있습니다.$http
그리고 약속을 처리하는 것.
$http.get('url').then(angular.bind(this,
function(response) {
this.response = response; //use this (which is the bound context)
});
위의 예에서,this
함수 내부는 참조하지 않을 것입니다.this
에서$http
우리가 명시적으로 하지 않는 한 맥락.bind
it. 이것은 (대부분의 일반적인 클래스 지향 언어와는 달리) 컨텍스트의 동적 바인딩 때문에 (콜백에서) 일반적인 자바스크립트 문제입니다.
부분 응용 프로그램은 일부 인수를 이미 통과한 함수를 만들고 싶을 때 사용됩니다.아주 간단한 예:
function add(x, y) {
return x + y;
}
var add10To = angular.bind(this, add, 10);
console.log(add10To(5));
// outputs 15
Angular.bind와 함께 Angular 팀은 이 두 가지를 함께 포장합니다.
이것은 기능 언어의 기반이 되는 고전적인 기능 중 하나입니다.부분적인 기능으로 작업할 수 있게 해줍니다.각도에 따라 달라지는 것이 아니라 자바스크립트에 따라 달라지는 것입니다.대부분의 자바스크립트 유틸리티 라이브러리에는 이 기능도 포함되어 있습니다(예: 밑줄/로다시).
현재 이 기능은 자바스크립트 자체의 일부입니다. (모든 주요 브라우저에서 지원됨 - bind()를 지원하는 브라우저를 참조하십시오.)
설명하자면bind
가능합니다. Lodash 문서의 예를 참조하겠습니다(원본 교체)._.bind
와 함께angular.bind
의견 추가):
//this is a simple function. Note it uses "this" but it's not inside any object.
var greet = function (greeting, punctuation) {
return greeting + ' ' + this.user + punctuation;
};
//now let's define an object
var object = { 'user': 'fred' };
//now we can create a functions by "binding" the object with the function above and also supplying the "greeting" argument
var bound = angular.bind(object, greet, 'hi');
bound('!');
// → 'hi fred!'
각도의 모든 데이터JS는 $scope 개체의 속성이어야 합니다.이 프레임워크는 개발자가 이에 대해 생각하지 않고 ng 클릭을 후드 아래의 올바른 스코프 개체로 라우팅할 수 있습니다.호출된 함수 내부에서 $scope 개체를 가리킵니다.
<body ng-controller="MainCtrl">
<p ng-click="clickMe()">Click me</p>
</body>
when clicked the following controller function
app.controller('MainCtrl', function($scope) {
$scope.clickMe = function() {
console.log(this === $scope);
};
});
// prints true
function.bind
AngularJs 컨트롤러 코드 안에서 자주 사용되지 않습니다. 컨트롤러 함수 안에서 정의된 함수는 그냥 사용합니다.$scope
개체에 연결된 속성 대신 데이터에 액세스할 수 있습니다.링크 함수 내부에 정의된 함수도 스코프 변수와 직접 연동할 수 있습니다.
참조 : http://bahmutov.calepin.co/why-function-bind-matters-little-in-angularjs.html
언급URL : https://stackoverflow.com/questions/30529933/what-is-the-use-of-angular-bind-in-angularjs-where-to-use-it
'source' 카테고리의 다른 글
Oracle SQL의 최소 값이지만 NULL은 아닙니다. (0) | 2023.10.21 |
---|---|
Windows PowerShell이란? (0) | 2023.10.21 |
Oracle SQL 다중 줄 테이블 주석 또는 열 주석 추가 (0) | 2023.10.21 |
WooCommerce 주문확인 메일에서 결제수단을 제거하는 방법은? (0) | 2023.10.21 |
앱 자체 내에서 로케일 변경 (0) | 2023.10.21 |