2

だから、私はカスタムモーダルウィンドウを作成しています:

var modal = Alloy.createController('modal');
modal.getView().open();

Modal コントローラー内には呼び出される関数がchangeTitleあり、ビューには id のラベルがありmodalTitleます。私が理解しようとしているのは、モーダル ウィンドウを起動したコントローラーからいずれかを呼び出す方法です。

以下はコントローラーの関数を呼び出すと思いましたが、サイコロはありません:

modal.changeTitle('foo');

同様に、以下は新しく作成されたビューのラベルをターゲットにすると思いましたが、サイコロはありません。

var modalWin = modal.getView();
modalWin.$.modalTitle = 'foo';
4

1 に答える 1

5

changeTitleを使用して、関数を世界に公開する必要がありますexports。したがって、作成したモーダル コントローラー内では、次のようになります。

exports.changeTitle = function() {
    // Your function definition...
};

2 番目の部分については、これもグローバルには利用できませんが、モーダル コントローラー内でこれを行うことができると思います。

exports.$ = $;

その後、あなたが書いたものは機能しますが、内部メンバーを外部世界にさらすことは非常に危険に思えます. 上記のような公開された関数で必要な機能のみをネストします。

于 2013-09-10T13:04:11.753 に答える