백본 및 요구 사항이 포함 된 단일 페이지 앱을 제작하고 있습니다. 지금은, 내 모듈 파일에서 새 인스턴스를 반환으로 파일을 종료했습니다 들어requirejs를 사용하여 모듈 인스턴스를 만들고 다른 모듈로 전달하는 방법은 무엇입니까?
: 나는이 컬렉션의 initialize 메소드에 인수를 전달했다 때까지
return new moduleName;
이 확인했다. 인스턴스가 생성 될 때 initialize가 호출되기 때문에 return 문에서 "new"를 제거합니다.
return mymoduleName;
그리고 내 라우터에서 매개 변수를 사용하여 컬렉션을 인스턴스화 : 이것은 참으로 "도서관"의 인스턴스 생성
myCollection = new library({paramname: "value"});
-의 블록을 정의,하지만 난 그것을 어떻게 전달합니까 내 라우터에 도입 컬렉션을 그것을 렌더링하는 책임이있는 뷰? 어떤에서 (이 컬렉션 클래스에서 "새로운"을 멀리 복용하기 전에 일
this.collection = library;
_.bindAll(this, 'render');
this.collection.bind('reset', this.render);
:
내보기 클래스는 정의 블록에 같은 의존성을 가지고 있으며 초기화에 나는 컬렉션의 재설정에 바인딩 회고는 전혀 의미가 없습니다!)하지만 뷰가 렌더링되지는 않습니다. 라우터에서 인스턴스화 되었기 때문입니다. 뷰에 동일한 인스턴스를 전달하려면 어떻게해야합니까?
덕분에 다음과 같이 작업하게되었습니다. 실제로 이것이 정확히 무엇인지 말씀해 주시겠습니까? library = new library ({paramname : "value"}); myView = 새보기 ({컬렉션 : 라이브러리}); 보기의 초기화 : 초기화 : function (opts) { \t this.collection = opts.collection; } – wannabeartist
기본적으로 "초기화 할 컬렉션을 설정하지 마십시오"라는 구문이 약간 혼동 스럽습니다 - 생성자 params가 처리되는 곳이 아닌가? – wannabeartist
Initialization에서 'this.collection = opts.collection'을 수행 할 필요가 없습니다. 백본 설명서를 보면 "새보기를 작성할 때 전달한 옵션이 미래에 this.options로보기에 첨부됩니다 전달되는 경우 model, collection, el, id, className, tagName 및 특성과 같이 뷰에 직접 첨부되는 몇 가지 특수 옵션이 있습니다. " (http://documentcloud.github.com/backbone/#View-constructor) – slurmomatic