0

私はprops.xml合金ビューとprequal.xml合金ビュー(フォームを含むビューを含む)を持ち、それぞれにはそれぞれ独自のコントローラがあります。テーブルデータがprops.xmlにロードされた後、prequalフォームが表示されます。他のコントローラにある子ビューの親ビューを閉じる方法

私はモードウィンドウである必要がありました。アンドロイドとiOSがそれらを別々に扱うので、私はAndroidのAlertDialogとiOSの実際のモーダルウィンドウの中にprequalビューを入れなければなりませんでした。したがって、prequalフォームはandroidViewプロパティを介して$.UI.create('AlertDialog', {properties});にAndroid AlertDialogに追加され、単にウィンドウのadd(view)機能によってiOSウィンドウに追加されます。

しかし、問題はAlertDialogとWindowがprops.jsに定義されているため、フォームを送信した後でprequal.jsからそれらのウィンドウを閉じることができる必要があります。これらのコンテナモーダルビューに関連付けられたIDを使用して閉じようとしましたが、フォーム自体を含む実際のビューのみが閉じられ、それを含む親ビューではなく閉じられます。

子ビューが定義されているコントローラとは別のコントローラで親ビューが定義されている場合、子ビューの親ビューを閉じることはできますか?あなたは、コールバック関数を介して新しいコントローラパスを開くwinA

+1

closeA()機能をトリガーします質問を理解しましたが、あるビューから別のビューにパラメータとして関数を渡し、別の「コントローラ」から関数を呼び出すことができます。 – miga

+0

申し訳ありませんが、関連性のある場合に備えて、多くの背景情報を提供しました。確かにほとんど無視できる。 親コンテナビューは基本的にprops.jsにあり、子ビューはprequal.jsにあります。私は親ビューのcloseまたはhide関数をprequal.jsから呼び出せるようにする必要があります – Rampancy

答えて

1

内側:

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

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

winBでは、あなたが今$.args.closeA()を呼び出すことができますが、完全に私ならば、私はよく分からないコントローラwinA

+0

答えをありがとう!私のアプリで素晴らしい仕事。 – Rampancy

関連する問題