2013-06-26 3 views
2

컨테이너에 삽입 push ed "뷰 모델의 기능에 바인딩 된 클릭 핸들러에 의해 처리됩니다.갱신 벽돌 레이아웃 I가 관측 배열 된 div의리스트를 결합하기 위해 사용 바인딩 녹아웃 템플릿을

.menu-instance-entries 컨테이너의 요소 레이아웃은 masonry 플러그인에 의해 제어되며 수동 절대 위치 지정을 수행하려면 $container.masonry('prepended', elements)을 호출하여 요소 컬렉션을 전달해야합니다.

나는 관찰 할 수있는 콜렉션 '.push이 발생하는 지점에서 제어 할 수 있지만 jQuery 요소를 jQuery 호출을 빌드 플러그인으로 전달하는 템플릿으로 새로 만든 div에서 jQuery 요소를 가져 오는 방법을 알지 못합니다.

관측 가능한 배열을 통해 추가하는 녹아웃 요소에서 레이아웃을 업데이트하려면 어떻게해야합니까?

답변

1

템플릿 바인딩의 afterAdd 또는 beforeRemove 함수를 사용할 수 있습니다. ViewModel에서 DOM에 대한 종속성을 갖기 때문에 이에 대한 조언을드립니다.

더 나은은 벽돌과 KO

+0

나는이 제안을 좋아하고 그 뒤에 추론 사이의 상호 작용을 처리하는 사용자 지정 바인딩을 만들 수 있습니다. 그러나 구현에 대해서는 조금 부족합니다. 나는 약간의 비틀기와 함께 [여기] (http://stackoverflow.com/questions/11031719/bindinghandler-in-knockoutjs-build-own-listview)에 주어진 예제를 따라 갔다. 어디에서 업데이트 방법을 적절하게 크기를 조정할 레이아웃을 조정할 것이다. – BigDubb