2013-03-15 1 views
0

나는 궁금해하고 있으며 내 두뇌를 간지럽히는 일반적인 질문 일뿐입니다. 위의 Dojo 1.7은 위젯을 호출하고 클래스를 지원하는 훌륭한 방법 인 AMD 모듈을 사용합니다.Dojo가 AMD 모듈을 요청하고 콜백

호출로 클래스 나 AMD 모듈을 호출하는 일반적인 방법은 다시 다음과 같은 질문 : 내가 다시이 함수의 호출로 랭, 데이터 그리드 및 ItemFileWriteStore 모듈을 호출하고이 방법으로

require(['dojo/_base/lang', 'dojox/grid/DataGrid', 'dojo/data/ItemFileWriteStore', 'dojo/dom', 'dojo/domReady!'], 
    function(lang, DataGrid, ItemFileWriteStore, dom){ 

이 모듈을 사용하면 일부 모듈에는 dojo/domReady!와 같은 콜백이 없습니다.

모듈을 호출하는 순서에 차이가 있습니까? 아니면 오류가 발생합니까? 또는 중요한 부분은 요구와 기능에서 동일한 순서로 그것들을 갖는 것이다. 그러나 먼저 전화하는 것이 중요하지 않습니까?

답변

2

나는 당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 그러나 함수의 매개 변수는 가져온 모듈 이름과 같은 순서/순서 여야합니다 (주어진 예제에서와 같이).

모듈이 domReady와 같은 객체를 반환하지 않으면 대부분 모듈이 HTML 문서 나 함수 등의 무언가를 반환하기 때문에 모듈을 마지막 모듈로 배치하는 것이 좋습니다.

당신이 원하는 어디든지 당신은 물론 추가 할 수 있습니다,하지만 당신은 dojo/domdojo/domReady!을 전환한다면, 그것은 변수 dom가 더 이상 dojo/dom위한 그러나 다른 모듈 (NO 개체)에 대한 코드를 포함하지 않는 것을 의미한다. 이것은 당신이 그런 짓을했다는 것을 의미 할 것입니다 : placeholder가 실제 사용이 없습니다

require(['dojo/_base/lang', 'dojox/grid/DataGrid', 'dojo/data/ItemFileWriteStore', 'dojo/domReady!', 'dojo/dom'], 
    function(lang, DataGrid, ItemFileWriteStore, placeholder, dom){ 

.

0

나는 당신이 뭔가를 오해하고 있거나, 당신이 말하는 것을 오해하고 있다고 생각합니다. 종속되어 모듈 이름

  • 배열
  • 그 종속성을

모듈 또는 모듈의 이름이 필요한 콜백 함수 자체가 콜백되지 않습니다

define() 함수는 두 개의 매개 변수 , 콜백은 작성한 함수이며 모든 모듈이로드되면 시작됩니다.

Demitri M은 콜백 함수가 끝날 때 아무 값도 반환하지 않는 모듈을 넣는 것이 좋습니다. 매개 변수 목록을 줄일 수있는 방법이기 때문입니다.

관련 문제