私はmiamicoderのsenchatouch2チュートリアルをフォローして大成功を収めています(http://miamicoder.com/2012/how-to-create-a-sencha-touch-2-app-part-2/)。まだこれの初心者は私のjavascriptの知識が私に何を制限しています。
私がやりたいのは、コントローラーに格納されているjavascript関数を呼び出しますが、ローカル変数を渡します。これが私のビューの1つの初期化で宣言された私のコードです:
var geo = Ext.create('Ext.util.Geolocation', {autoUpdate: false, listeners: {
locationupdate: function(geo) {
console.log('Got location: ',geo);
findCurrentAddress(geo,"txtFrom");
},
//locationerror: {fn: this.onGotLocation, scope: this }
locationerror: function(geo, bTimeout, bPermissionDenied, bLocationUnavailable, message) {
alert("deal with this later")
}
}
});
geo.updateLocation();
次に、findCurrentAddressは次のように定義されます。
function findCurrentAddress(geo, txt){
alert("do some stuff with the geo object");
}
この関数をコントローラーに移動し、このビューにアクセスできるようにするにはどうすればよいですか?上記のリンクのonNewButtonTapイベントでチュートリアルが行うことと同様です。
最終的な結果は同じですが、私は物事をきれいに保ちながら、機能を邪魔しないようにしたいと思います。
私はやってみました:
locationupdate: {fn: this.onGotLocation, scope: this }
必要なコードをコントローラーに配線します。これは、lat / longプロパティを持つgeoオブジェクトを失うことを除いて機能しました(少なくとも、それを渡す方法がわかりません!)
ヘルプ/ヒント/ポインタは大歓迎です!:)