如何在 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 后退按钮栏与自定义工具栏合并

Sencha Touch 2:如何在导航视图中显示列表?

如何使用视图通过 MVC 在 Sencha Touch 2.0 中放置一个按钮

iPhone Sencha Touch - 如何在 sencha touch 中将表格视图添加到拆分视图