如何关闭另一个控制器中子视图的父视图

How to close parent view of a child view that's in another controller

我有一个 props.xml alloy 视图和一个 prequal.xml alloy 视图(其中包含一个包含表单的视图),每个视图也有各自的控制器。 table数据载入props.xml.

后出现prequal形式

我需要prequal形式成为模态window并且由于Android和iOS对待它们不同我不得不将prequal视图放入AlertDialog for Android 和 iOS 的实际模态 window。因此,prequal 形式通过其 androidView 属性 添加到 Android AlertDialog,在 $.UI.create('AlertDialog', {properties}); 上,并简单地添加到 iOS window window 的 add(view) 函数。

但是,问题在于 AlertDialog 和 Window 是在 props.js 中定义的,我需要能够在 prequal.js 之后关闭那些 windows表格已提交。我尝试使用与那些容器模态视图关联的 id 来关闭它们,但它只关闭包含表单本身的实际视图,而不是包含它的父视图。

当父视图在定义子视图的单独控制器中定义时,我如何能够关闭其子视图的父视图?

winA 你打开一个新的控制器传递回调函数:

function closeA(){
  $.winA.close();
}

Alloy.createController("winB", {
  closeA: closeA
}

winB中,您现在可以调用$.args.closeA()来触发控制器winA

中的closeA()函数