4

だから私は過去3日間、1日に何時間も努力してきました.私はこれを死ぬまで研究しましたが、まだそれを得ることができません.

ゴール:

-file1.js には、押されたときに file2.js の Main_Menu メソッドが呼び出され、そのメソッドまたは関数によって作成された新しいウィンドウが開くボタンがあります。

失敗した試み:

-Ti.includeを試しましたが、ファイルが見つからないというエラーが常に発生します。文字列をすべての可能なパスに変更しようとしました。

-var file = require(path) ですが、file.Main_Meue などのファイル内でメソッドを使用することはできません。機能しません。

私は他にも思い浮かばないことをたくさん試しましたが、誰かアドバイスがあれば、またはもっと情報が必要な場合は聞いてください. 助けてください、そしてありがとう

4

3 に答える 3

2

2番目の答え

次のように 2 番目のウィンドウを作成します。

//file1.js
button.addEventListener('click', function()
{
  var secondWindow = Ti.UI.createWindow({
    url:'file2.js'
  });
  secondWindow.open();
});

file1.jsfile2.jsパラメータ経由で新しいウィンドウを作成しurlます。file2.js呼び出し後の新しいウィンドウですsecondWindow.open()

最初の答え

このトピックのタイトルに基づいて、fireEventメソッドを使用できます。例えば:

file1.js

Ti.App.addEventListener('customEventName', function()
{
  Ti.API.info('function fired from file2.js');
});

file2.js

Ti.App.fireEvent('customEventName');

http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Proxy-method-fireEvent

于 2013-06-24T23:50:53.180 に答える
1

file1.js

var toBeExported ={
a : function(){
    //your code goes here 
  }
};
exports.a = toBeExported.a

file2.js

 var b = require ('file1');
//you can use all the functions that is exported from file1 here.
//you have to create a lib folder or place the file1.js in the existing lib folder for the export/require to work.

これが役立つことを願っています。

于 2016-01-12T08:55:18.363 に答える
0

これはコード構造の問題かもしれません。基本的に、使用しているバージョンに応じて、これを行うには3つの良い方法があります(実際には、プロジェクトを開始したバージョン:

  • 2.x より前: 最良の方法は tweetanium アーキテクチャを呼び出すことでした: www.shanestillwell.com/index.php/2012/03/29/mvc-for-appcelerator-titanium-understanding-tweetanium/
  • 2.x の場合: CommonJS 構造を使用できます: https://wiki.appcelerator.org/display/guides/CommonJS+Modules+in+Titanium
  • 3.x の場合: Tweetaniumとほぼ同じ Alloy.Globals を確認する必要があります。

それが役に立てば幸い。

于 2013-06-27T14:14:23.920 に答える