2013-06-24 5 views
4

그래서 지난 3 일 동안 많은 시간 동안 지금 노력하고 있습니다 .i는 이것을 조사하여 죽음에 이르렀지만 여전히 얻을 수 없습니다.티타늄, 다른 JS 파일에서 하나의 JS 파일에 함수를 호출

목표 :

-file1.js는 buttion을 갖는다 file2.js에있어서 Main_Menu를 호출 가압하는 방법, 또는 기능에 의해 생성 된 새로운 윈도우를 열 때.

가 시도 실패 : 파일 오류를 찾을 수 없습니다 Ti.include을 시도했지만 항상을 받고있다 -i

을, 나는 가능한 모든 경로에 문자열을 변경 시도했다.

-var 파일 = (경로)이 필요하지만, 예를 file.Main_Meue를 들어, 파일 내부의 방법을 사용할 수 없습니다, 나 또한 마음에 있지만 경우에 오지 않는 다른 많은 것들을 시도

작동하지 않습니다 누구든지 어떤 조언을하거나 더 많은 정보가 필요합니다.

+0

귀하의 질문을 이해할 수 있는지 보겠습니다. 'file1.js'에는 버튼이 있습니다. 버튼을 클릭하면'file2.js'를 사용하여 새 창이 생성됩니까? 'Main_Menu();'를'file2.js'의 끝에 넣기 만하면 윈도우가 생성 될 때이 함수를 호출 할 것입니다. – Ronnie

+0

예하지만 main_menu() {윈도우 코드 생성}. 따라서 새로 열린 윈도우의 코드는 file2.js에 있습니다. – Mikecit22

+0

파일 2에서 main_menu를 호출하는 것은 필요하지 않습니다. file1에서 창을 작성합니다. 내 대답은 – Ronnie

답변

2

두 번째 대답

지금처럼 두 번째 창을 만들 수 있도록, 그리고 감사합니다 사항 :

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

file1.jsurl 매개 변수를 통해 file2.js을 사용하여 새 창을 만듭니다. 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

+0

으로 업데이트하겠습니까? 코드는 내가 원하는대로 간다? 내가 code2에서 오는 코드를 원한다면 – Mikecit22

+0

자바에 대해 어떤 식 으로든 갈 수있는 방법이있다. 어디서 파일이나, file2를 만들 수 있는지, 그리고 file2와 비슷한 것을 만들 수 있는지, object_Of_File2.Main_Menu()? – Mikecit22

+0

당신의 두 번째 대답에 대해서도 나는 이것을 시도하고 "cant find file"과 같은 오류를 얻습니다. 여기서 두 파일은 같은 디렉토리에 있습니다. – Mikecit22

0

이 코드 구조의 문제가 될 수 있습니다.

  • 2.x를하기 전에 : www.shanestillwell : 가장 좋은 방법은 tweetanium 아키텍처를 호출했다 기본적으로 당신이 사용중인 버전에 따라 (실제로 버전에 프로젝트를 시작하고 세 가지 좋은 방법이 있습니다. COM/index.php에/2012/03/29/MVC를 위해 appcelerator - 티타늄 - 이해 - tweetanium/
  • 2.x를위한
  • : 3.x를위한 https://wiki.appcelerator.org/display/guides/CommonJS+Modules+in+Titanium
  • : 당신이 CommonJS 구조를 선택적으로 사용할 수 있습니다 당신은해야 tweetanium과 거의 같은 Alloy.Globals을보십시오.

희망이 도움이됩니다.

1

file1.js

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

파일 2.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. 

희망이 도움이 될 것입니다.

관련 문제