我在關注miamicoder的sencha touch 2教程,並取得了巨大的成功(http://miamicoder.com/2012/how-to-create-a-sencha-touch-2-然而,因爲我仍然是一個新手這個我的JavaScript知識限制了我一些什麼。在Sench Touch中查看調用控制器的javascript功能2
我想要做的是調用存儲在控制器中的JavaScript函數,但傳遞它的局部變量。下面是我的意見之一初始化宣佈我的代碼多數民衆贊成:
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 }
,並在控制器,它的工作只是我失去了地理對象與經/緯特性(至少,我不知道如何將它傳遞佈線所需的代碼! )
任何幫助/提示/指針非常感謝! :)
我認爲這個想法是,有觀點意在發射一個被控制器捕獲的事件......? – null
是的,查看火災事件。控制器訂閱這些事件並執行一些操作。 – sha