1

我試圖定義煎茶觸摸2我自己的功能,我仍然收到錯誤定義自己的功能:如何鑑於煎茶觸摸2

Uncaught ReferenceError: function22 is not defined

而且我的文件負責,這是:查看目錄中的Position.js

Ext.define('GS.view.Position', { 
extend: 'Ext.Map', 

xtype: 'map', 

config: { 
    title: 'Position', 
    iconCls: 'time', 
    useCurrentLocation:true, 
    mapOptions: { 
     zoom: 19 
    }, 

    listeners: { 
     maprender : function(comp, map){ 
      //new google.maps.LatLng, 
      marker = new google.maps.Marker({ 
       position: new google.maps.LatLng(this._geo.getLatitude(), this._geo.getLongitude()), 
       title: '1', 
       map: map 
      }); 
      google.maps.event.addListener(marker, 'click', function22); 
      new google.maps.Marker({ 
       position: new google.maps.LatLng(51.266064,15.562048), 
       title: '1', 
       map: map 
      }); 
     } 
    } 
}, 
function22: function(){ 
    alert('some alert'); 
} 
}); 

回答

2

Sencha touch只有Javascript!所有對Javascript真實的東西都可以與sencha touch一起使用!

這是怎麼解決這個問題:

在HTML中,插入任何其他JavaScript之前,我寫這行:

<script type="text/javascript">var MYGLOBALOBJECT={v:{},f:{}};</script> 

MYGLOBALOBJECT是2項,命名爲V和F側阿雷。 MYGLOBALOBJECT.v是一個哈希在那裏我可以存儲所有我的變量是這樣的:

MYGLOBALOBJECT.v.myNumber = 123.45; 
MYGLOBALOBJECT.v.justASrting = 'this is a string'; 

由於在Javascript功能只是另一種類型的變量,也可以存儲在這個全局對象funktions,這是我用MYGLOBALOBJECT.f爲:

MYGLOBALOBJECT.f.aGlobalFunction = function (parameter) { 
    // do something useful 
}; 

你可以在你的代碼在任何地方使用這個函數是這樣的:

var xy = MYGLOBALOBJECT.f.aGlobalFunction(someValue); 

由於MYGLOBALOBJECT我在任何大括號外面定義,它是一個全局對象,並且您可以隨意使用它。