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我在任何大括号外面定义,它是一个全局对象,并且您可以随意使用它。