몇 가지 다른 모듈의 여러 인스턴스가 관련된 복잡한 상황이 있습니다.Durandal은 모듈의 특정 인스턴스에서 이벤트를 발생시키는 고유 한 방법이 있습니까?
예를 들어 입력 모듈, 양식 모듈 및 formSelector 모듈이 있습니다. formSelector에서 양식을 선택하면 양식에 올바른 입력이 채워집니다.
양식 위에는 다양한 입력 사항이있는 양식이 있습니다.
모든 입력은 데이터베이스에서 반환되는 내용에 따라 작성됩니다.
이제 pub/sub를 사용하여 양식 객체를 formSelector에서 양식 모듈로 전달하는 이벤트를 트리거하려고 시도했습니다. 이 작동은 트리거가 폼 모듈 인스턴스에만 해당하지 않음을 나타냅니다. 페이지의 모든 양식에 대해 이벤트를 트리거합니다.
특정 양식 인스턴스에 대해서만 일정을 트리거 할 수 있습니까?
예
참고 : 난 그냥 구조에 대한 참조를 위해 자리에서이를했다. 이 코드는 아마 작동하지 않습니다. 또한, 나는 자바 스크립트가 질문에 대답하는 데 필요하다고 생각하지 않습니다.
입력 : 입력 모듈 목록
<form>
<div data-bind="foreach: form.inputs">
<div data-bind="compose: { model: input.modelPath, activationData: input.activationData }"></div>
</div>
</form>
FormSelector :
<input data-bind="value: input.data" />
양식 일부 데이터을 관찰하여 원하는 형태
//List of buttons to select the desired form
<div data-bind="foreach: forms">
<div data-bind="click: updateForm"></div>
</div>
//The desired Form (Module)
<div data-bind="compose: { model: form.modelPath, activationData: form.activationData }"></div>
선택
에 Index.html
//Form Module
<div data-bind="compose: { model: mainForm.modelPath, activationData: mainForm.activationData }"></div>
//FormSelector Module
<div data-bind="compose: { model: formSelector.modelPath, activationData: formSelector.activationData }"></div>
예제를 사용하여 updateForm
내부의 이벤트를 트리거하고 싶습니다.이 이벤트는 FormSelector 내부에서 구성된 양식을 트리거합니다. 문제는 응용 프로그램의 와이드 트리거가 위의 양식을 업데이트한다는 것입니다 (mainForm
). 당신이 기능 세계적으로 app.trigger 및 및 app.on을 사용할 수 있도록