2013-04-24 1 views
0

다트에서 js interop을 통해 부트 스트랩 모달 대화 상자를 사용하고 있습니다. 모두 맞춤 이벤트를 수신하는 것과는 별개로 작동합니다. 나는 다음과 같은 코드를 사용하여 "표시"이벤트를 수신하는 것을 시도하고있다 : 그러나Dart의 이벤트 수신 대기 "Jay"를 통해

js.scoped(() { 
    js.context.jQuery("#myModal").on("shown", new js.Callback.once(() { 
    print("Dialog Shown");   
    })); 
}); 

을, 나는 이벤트가 발생되어 다음과 같은 다트 오류 : 난 무엇을

Class '() => dynamic' has no instance method 'call'.\n\nNoSuchMethodError : method not found: 'call'\nReceiver: Closure: (dynamic) => dynamic\nArguments: [Instance of 'Proxy'] 

어떤 아이디어 잘못하고있는거야?

감사합니다.

답변

1

콜백에 하나의 매개 변수 (handler parameter of on documentationeventObject 매개 변수가 있어야 함)가 있어야하므로이 오류가 발생합니다. 그래서 코드는 다음과 같아야합니다

js.context.jQuery("#myModal").on("shown", new js.Callback.many((eventObject) { 
    print("Dialog Shown"); 
})); 

도 참고 js.Callback.many 대신 js.Callback.once의 사용. 전자는 콜백이 여러 번 호출되도록합니다.

+0

감사합니다. 나는 핸들러 함수가 매개 변수없이 지정되는 부트 스트랩 문서를보고있었습니다. '$ ('# myModal '). on ('표시된 ', function() { // 무언가를 }') – mark