2012-03-08 3 views
2

spine.js의 콜렉션에 대한 지원이 필요합니다. 나는 그 척추를 안다. js는이 순간을 지원하지 않는다.Spine.js의 컬렉션

누구나이 기능을 추가 했습니까? 아니면 구현 방법에 대해 가장 잘 알고있는 사람이 있습니까?

답변

5

이 기능은 내장되어 있습니다.

컬렉션은 모델의 클래스 메소드입니다. 따라서 권장되는 방법은 모델에 이러한 몇 가지 메소드를 추가하는 것입니다.

컬렉션과 관련된 모든 클래스에 다른 클래스가 필요한 경우 (기존 모델을 사용했기 때문에) 원래 모델에서 상속받은 새 클래스를 만들고 거기에 클래스 메서드를 추가하기 만하면됩니다.

샘플 : (콘솔 출력을 확인) http://jsfiddle.net/SpoBo/vBtKC/

난 그냥 쉽게 가질 수있는 포스트 모델에 게시 된 클래스 메소드를 이동하고 모든 추가 PostCollection 클래스의 필요없이뿐만 아니라 일 것이다. 선택 :

+0

죄송합니다. 분명히해야합니다. 별도의 콜렉션을 관리해야합니다. 예를 들어 두 개의 테이블이 있고 각각을 자체 비행 컬렉션에 바인딩해야합니다. (btw 너무 오랫동안 대답에 걸릴에 대한) –

+0

HTML 테이블에있는 테이블 내가 가정합니다. 모델에 2 가지 기능 만 추가하면됩니다. 1 함수는 첫 번째 테이블에 대한 항공편을 반환하고 두 번째 테이블에 대한 항공편을 반환합니다. 컨트롤러의 경우 요소 패턴 (http://spinejs.com/docs/controller_patterns)을 사용하는 것이 가장 좋습니다. 따라서 업데이트 할 때 두 테이블의 모든 요소를 ​​다시 렌더링 할 필요가 없습니다. 관계 기능을 체크 아웃 할 수도 있습니다. 무언가가 has_many 항공편 등등. 그러나 비행이 다른 모델과 ID를 통해 링크되어있는 경우에만 멋지게 작동합니다. – SpoBo

+0

2 가지 기능이 작동한다고 생각하지 않습니다. '새로 고침'이벤트는 모든 요소에서 트리거되며 중복 레코드도 관리하지 않습니다. 즉, 레코드의 1 버전 만 유지합니다. 나는 has_many 기능을 사용할 생각이었다. 어쩌면 그것이 갈 길입니다. –