0

我有一个同事列表 (List.js) 点击列表项会显示同事的详细信息 (Detail.js)。其中一个字段是 {skype}。从商店中检索到 Skype 地址并很好地显示。

在详细信息屏幕中,我有一个按钮“给我打电话”。目的是与同事开始 Skype 通话。

我添加了一个功能

onOpenSkypeTap: function () {
    open('skype:{skype}?call');
}

问题是:Skype 用 {skype} 开始通话,而不是同事的 Skype 名称。我想我需要在控制器文件中解决它,但我的尝试没有成功:控制器文件的一部分:

oncolleagueItemTap: function(list, idx, el, record) {
    this.getcolleagueContainer().push(this.colleague);
    this.colleague.setRecord(record);
    var skypename = record.get ('skype')
    console.log(skypename);     
},

onOpenSkype: function () {
    console.log(skypename);
    open('skype:skypename?call');
}

错误消息:未捕获的 ReferenceError:未定义 skypename

可能是因为 var skypename 仅为函数 oncolleagueItemTap 定义

是否可以将此变量传递给函数 onOpenSKype?还是有其他解决方案?

4

1 回答 1

0

您可以skypename在详细信息页面中设置为配置属性之一,并为此页面提供一个 id。点击按钮,您可以执行此操作

var name = Ext.getCmp("colleguePageId").config.skypename

或者

var name = Ext.getCmp("colleguePageId").getRecord().get('skype')

你可以在任何你想要的地方使用它

open('skype:'+name+'?call');
于 2013-02-13T05:15:58.777 回答