2017-02-21 4 views
0

내가이 간단한 뷰 모델이 발사 한 번 해고 당했고, 분명히 ko.applyBindings 후에 DOM이 준비되지 않았으므로 jQuery.ui을 드래그 할 수 없습니다.녹아웃 afterRender 한 번만

Ko 설명서에 따르면 observableArray (해당 foreach에 속함)이 변경 될 때마다 afterRender이 실행되지만 발생하지 않습니다.

결국 배열을 채운 후 ajax.done에서 draggable을 초기화하여 작동 시키지만 올바른 방법은 아니지만 여전히 문제가 남아있는 것 같습니다. afterRender 배열 업데이트가 실행되지 않습니다.

어떤 아이디어라도 높이 평가할 수 있습니다.

PS : 내가 분명히 의미 배열함으로써 ko.observableArray

답변

1

문제는

foreach: {arr, afterRender: initPlugins($data)} 

afterRender이 매개 변수로 함수를 기대하고 당신에,하지만 당신은 매개 변수 변경 등의 데이터를 호출하여 함수를 호출하는 그것은에 :

foreach: {arr, afterRender: initPlugins } 

afterRender 방법은 녹아웃에 의해 2 개 매개 변수와 함께 호출됩니다 :

삽입 된 DOM 요소의 배열, 바인딩되는 데이터 항목

+0

감사합니다. 작동합니다! AfterRender 내부에서 ViewModel에 액세스 할 수있는 깨끗한 방법이 있습니까? –