2014-12-03 2 views
0

#add-button (새 작업 생성) 또는 .list-group-item-heading (기존 작업 편집)을 클릭하면 표시되는 부트 스트랩 모달 (밑줄 템플릿 : dialog-template)을 원하지만 모달 html이 본문에 추가됩니다.부트 스트랩 모달 및 Backbone.js

내 시도는 jsfiddle입니다.

(jsfiddle으로이 문제를 해결할 수있는 방법이 있다면 내 REST API를이 jsfiddle에 사용할 수없는 것처럼, 작업 목록이 비어있는, 나도 몰라?)

+0

렌더링 함수가 전혀 호출되지 않습니까? – meskobalazs

+0

@meskobalazs'.list-group-item-heading '을 클릭하면 트리거되는'edit' 함수를 통해 호출됩니다. –

+0

그래서 호출되면 DOM에 추가해야합니다. 그것을 추가합니까? modal ('show')' – meskobalazs

답변

0

당신의 바이올린보고에서와 의존성 문제를 해결하는 몇 가지 문제가 있습니다 :

  1. 귀하의 추가 버튼을 모달 템플릿과 백본보기로 존재하기 때문에, 그 속성은 참조되는 모달 무엇인지 모르고있다, 그리고 DOM에없는.
  2. 귀하의 추가 모달에는 렌더링 할 모델이 없으며 this.$el.modal()은 호출되지 않습니다.

이 문제를 해결하려면 단추에 모달을 초기화하고 렌더링하기위한 클릭 핸들러가 있어야하며 모달에 새 작업이 없으면 모달에 만들어야합니다. 그런 다음 부트 스트랩 modal 함수를 호출하면됩니다. 이 내용을 반영하기 위해 Fiddle을 업데이트했습니다.

위의 모든 문제를 해결했습니다. 저장시 작업 컬렉션으로 들어가는 모달 모델 간의 통신을 알아 내기 위해 여러분에게 맡기고 있습니다.

+0

'Button'의 정의에서 왜 그것을 parantheses로 묶고, 왜 결국'()'을해야할까요? 왜 당신은'new'가 아닌'var Button = Backbone.View.extend ({...});'? –

+0

기본적으로보기가 다시 사용되지 않을 것이므로보기가 싱글 톤이되고 인스턴스를 만들지 않아도된다는 점을 제외하고는 본질적으로 같습니다. – ncksllvn

+0

클래스 정의가 아니기 때문에 사실 Button이 아니라 Button이어야합니다. 익명 클래스의 인스턴스입니다. – ncksllvn