別の js ファイルに情報を渡す

 

iPhone
Creative Commons License photo credit: William Hook

 

TableView でリストを作って表示し、どれかがクリックされたら別のウィンドウを開いて何か別の処理をしたい、というようなケースでは、Table の何行目がクリックされたのか、とか、呼び出し元のファイルのほうで作っていた アレイを参照したい、などという場合がある。

呼び出し元のファイルの一部

// tableview のイベントリスナ

tableview.addEventListner (‘click’, function(e)

{

var  newwin = Ti.UI.createWindow({

url: ‘ somethingtodo.js’,   // 何か処理を行う別ファイル

newwin.mye = e,  // イベントリスナのイベントそのものを渡す

newwin.data = data; // data はこのファイルの中で var data = [] と定義され、何かデータが入っている

Ti.UI.currentTab.open( newwin, {animated:true});

}

 

呼び出されたほうのファイル

var  win = Ti.UI.currentWindow;

var myindex = win.mye.index;  // 呼び出し元のイベントを使って、テーブルの何行目がクリックされたか知る

var  data =win.data; // 呼び出し元のアレイ data を、自分のローカルアレイ data にいれる

 

まあ、データの受け渡しを行うことで、ファイルが完全に独立した記述にはならないわけだけど、ファイルを分けるメリットのほうが大きいケースもあるだろう。ファイルは分けたいけど、ひとつの記述(コンテクスト)にしたいばあいは Ti.include を用いるべきだろう。

Ti.include(‘a.js’);

 

 

 

 

 

タイトルとURLをコピーしました