0

同僚のリスト(List.js)を持っています リスト項目をタップすると、同僚の詳細が表示されます(Detail.js)。フィールドの 1 つは {skype} です。Skype アドレスはストアから取得され、適切に表示されます。

詳細画面に「電話する」というボタンがあります。目的は、同僚とスカイプ通話を開始することです。

機能を追加しました

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

問題は、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');
}

エラー メッセージ: Uncaught ReferenceError: skypename が定義されていません

おそらく、var skypename が関数 oncolleagueItemTap に対してのみ定義されているためです。

この変数を関数 onOpenSKype に渡すことは可能ですか? それとも別の解決策がありますか?

4

1 に答える 1

0

skypename詳細ページで構成プロパティの 1 つとして設定し、このページに 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 に答える