2012-04-09 1 views
3

나는 knockout과 함께 현재 트위터 부트 스트랩을 사용하고 있으며 계산 된 관찰 가능 목록에서 반환 된 배열에서 foreach 루프를 사용하여 템플릿을 렌더링 한 후 렌더링 된 DOM에서 요소 집합의 높이를 조정하려고합니다. afterRender 이벤트를 사용하여 처음에 문제에 접근했지만 필요한 변경을 수행하는 함수를 가져 오지 못했습니다.녹아웃 데이터 바인딩을 사용하여 템플릿을 렌더링 한 후 DOM 요소 높이를 어떻게 평준화합니까?

나는 달성하려고하는 정적 인 경우가 있으므로 계산 된 관찰 가능 항목이 렌더링 된 후 foreach 바인딩을 사용하여 동적으로 높이를 조정하는 데 도움이된다고 정말 감사하겠습니다.

다음은 정적 사례의 피들입니다. http://jsfiddle.net/lset/rr3ja/1/

하단의 쿼리는 .caption1 요소의 높이를 변경합니다.

답변

1

분명히 afterRender 이벤트는 개별 항목이 렌더링 된 후에 호출되므로 모두 이후에 크기를 설정해야합니다. 이 작업을 수행하는 한 가지 방법은 afterRender 이벤트에서 이것이 마지막 항목임을 알 수 있도록 마지막 항목에 대한 속성을 갖는 것입니다 (또는 목록의 마지막 항목과 비교할 수 있음). 그런 다음이 테스트를 사용하여 모든 요소의 크기 조정을 트리거 할 수 있습니다. 과거에 관찰 가능한 배열로 모든 인덱스 속성을 추가하기 때문에 마지막 항목의 인덱스를 비교했습니다.

+0

감사합니다. Matt, afterRender를 사용하는 것이 효과가 없다는 것을 깨달았습니다. 각 항목이 렌더링 된 후에 해고됩니다. 당분간 문제를 한쪽으로 치기로 결심했지만, 만족스러운 해결책을 찾으면 다시 돌아와서 후속 조치를 취할 것입니다. 건배. – user1304048

관련 문제