작성
·
174
0
cellDataStyle(){
let count = 1;
console.log("cellDataStylee 실행 횟수:", count);
return (row, cell) => {
console.log("실행 횟수:", count++);
....
}
}
위 코드를 실행시켰을 때, cellDataStyle 함수의 실행횟수는 1번인 반면에, 리턴 함수의 실행횟수는 100번 이더군요.
공식 문서를 읽어보니, computed 속성은 해당 속성이 종속된 대상이 변경될 때만 함수를 실행한다는 내용이 있었습니다.
저는 cellDataStyle 함수는 굳이 리턴 함수를 쓰지 않더라도 td 태그에 종속되어 있기 때문에 v-for에 의해 100번 실행될 것이라고 예상했지만, 한 번만 실행되고, 리턴 함수가 100 번 실행되네요. 이유가 있을까요?
* 그 외로, cellDataStyle의 매개변수인 state를 찍어보니, state의 $el 속성이 table 태그를 가리키는 것을 확인했습니다.
답변 2
1
컴포넌트를 보시면
cellDataStyle(rowIndex, cellIndex)
하고 있습니다.
이 것은 cellDataStyle 자체가 아닌 return (row, cell) => {}을 호출하는 것입니다.
computed 내의 cellDataStyle 함수는 처음 한 번만 호출됩니다.
0