0
객체 속성을 취하는 함수가 있는데,이 객체에서 함수를 속성 중 하나로 전달하려고합니다. 속성이 호출 될 때 함수를 실행하고 싶습니다. 함수가 실행되기 전에이 컨텍스트가 손실되므로이 함수를 바인딩해야합니다.함수를 객체의 속성으로 바인딩하는 방법
var myfunction = function() {
console.log("Something");
}
// this works
this.HeaderService.setState({
leftButton: {
click: this.myfunction.bind(this)
}
});
// can't get this to work
const self = this;
this.HeaderService.setState({
leftButton: {
click() {
return (function() {
console.log("something");
}).bind(this)
}
}
})
나는 일에 함수식을 얻을 수 있습니다,하지만 난 속성 클릭의 값으로 함수를 정의 할 두 번째 경우를 얻을 캔트. 어떻게해야합니까?
가 어쩌면 내가 모르는 뭔가가있어 문제를 해결 제안하지만, 그냥 화살표 함수로 클릭을 정의 사용할 수 없다? 예 : '클릭 :() => console.log ("someting")' –
당신이 지금 가지고있는 문제는 정확히 무엇입니까? 최종 객체를 어떻게 보이게 할 수 있습니까? – Aron
내가 지금 가지고있는 문제는 두 번째 경우에 함수가 호출되지 않는다는 것입니다. 즉, 아무 것도 기록되지 않습니다. – lboyel