私は次のコード(index.js)を持っています:
<Alloy>
<Window id="home" >
<View id="formulaire">
<Require type="view" id="etape_1_form" src="form/etape_1" />
</View>
</Window>
</Alloy>
etape_1_form.xml では、次のピッカー ウィジェットを使用する必要があります: danielhanold.pickerwidget
このウィジェットを etape_1_form.js (コントローラー) 内で使用する簡単な方法を次に示します。
Alloy.createWidget('danielhanold.pickerWidget', {
id: 'mySingleColumn',
outerView: $.home,
hideNavBar: false,
type: 'single-column',
selectedValues: [20],
pickerValues: [{10: 'Auburn', 20: 'Bald', 30: 'Black', 40: 'Blond', 50: 'Brown'}],
onDone: function(e) {
// Do something
},
});
$.form_win.open();
ピッカーを開く代わりに、この行から現在のウィンドウにアクセスできないため、エラーがスローされます。
outerView: $.home
The error : "undefined is not an object (evaluating 'outerView.add')
ピッカーを index.js (メイン コントローラー) に移動すると、ピッカーは機能しますが、必要なフォームが多く、コードを整理したいので、各フォームの js コードをコントローラー ファイル内に配置するのが好きです。
では、必要なビューから $.home ウィンドウにアクセスするにはどうすればよいですか? ご協力ありがとうございました。