2017-01-16 8 views
1

이 같은 뷰 내에서 모듈 핸들러를 호출 내 냉각 박스 응용 프로그램에서 볼 수 있습니다ColdBox 모듈에 전달 된 이벤트 인수에 액세스하는 방법은 무엇입니까?

#runEvent(event="mymodule:home.index")#

가 지금은 모듈에 인수를 전달하려는, 그래서 나는이에 전화를 변경 :

#runEvent(event="mymodule:home.index", eventArguments=moduleArgs)#

불행하게도하지만 나는 모듈의 이벤트 핸들러 내에서 전달 된 인수에 액세스하지 못하는 것 같습니다. rcprc을 버렸지 만, 메인 이벤트 핸들러에 설정 한 변수 만 들어 있고 event 인수는 전달 된 인수를 반환하는 메서드를 제공하지 않는 것 같습니다. documentation about module event executions은 불행히도 이에 대한 정보를 제공하지 않습니다.

또한 모듈 내에서 event.getCurrentModule()을 호출하면 빈 문자열이 반환됩니다. 나는 모듈의 이름을 기대했을 것이다.

그래서 어떻게 모듈에 전달 된 인수에 액세스 할 수 있습니까? runEvent()이 올바른 기능입니까? 모듈 구성 설정을 놓쳤습니까?

답변

2

당신은 ColdBox runEvent() documentation를 참조하십시오이

function index(event, rc, prc, isRender=false) { 
    writedump(arguments); 
    abort; 
} 

같은 함수에 인수를 정의 할 수 있습니다.

+0

는 빠른 응답 주셔서 감사합니다! 나는 문서에서 그 점을 완전히 놓쳤다. –

1

ColdBox documentation은 함수에 추가 인수를 전달하는 방법을 설명합니다. 그래서 예.

#runEvent(event="mymodule:home.index", eventArguments={foo="bar"})# 

호출 foo 변수는 arguments 범위를 통해 액세스 할 수 있습니다

function index(event, rc, prc) { 
    writedump(arguments.foo); // Dumps "bar" 
}