如何在 Sencha Touch 2 视图中定义自己的函数
Posted
技术标签:
【中文标题】如何在 Sencha Touch 2 视图中定义自己的函数【英文标题】:How to define own function in view in Sencha Touch 2 【发布时间】:2012-03-31 11:37:22 【问题描述】:我正在尝试在 Sencha Touch 2 中定义自己的函数,但仍然出现错误:
Uncaught ReferenceError: function22 is not defined
我负责这个的文件是:View 目录中的 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');
);
【问题讨论】:
【参考方案1】:煎茶触摸只是 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中函数只是另一种类型的变量,你也可以在这个全局对象中存储函数,这就是我使用MYGLOBALOBJECT.f
的目的:
MYGLOBALOBJECT.f.aGlobalFunction = function (parameter)
// do something useful
;
您可以在代码中的任何地方使用此函数,如下所示:
var xy = MYGLOBALOBJECT.f.aGlobalFunction(someValue);
由于MYGLOBALOBJECT
i 定义在任何大括号之外,它是一个全局对象,你可以在任何你想要的地方使用它。
【讨论】:
以上是关于如何在 Sencha Touch 2 视图中定义自己的函数的主要内容,如果未能解决你的问题,请参考以下文章
如何在sencha touch 2中将轮播正确添加到视图中?
在 Sencha Touch 2 中使用不同的代理存储动态定义和加载视图
Sencha Touch 将 ListView 后退按钮栏与自定义工具栏合并