Я использую Titanium Alloy MVC с проектом, который необходимо сканировать QR-код Titanium SDK 3.4.0.GAрезультат Вернуться к контроллеру с другого контроллера Titanium Alloy
У меня есть 2 контроллера: index.js и secondwindow. js с их соответствующими представлениями index.xml и secondwindow.xml. мне нужно, чтобы начать сканирование и обрабатывать результат сканирования в secondWindow контроллера, и возвращает этот результат к контроллеру индекса, чтобы индекс обрабатывать его элементы пользовательского интерфейса
Im пытаясь что-то вроде этого index.xml:
<Alloy>
<Window>
<Label id='result' />
...Other components...
<Button onClick='startScan'>Start QR scan</Button>
</Window>
</Alloy>
index.js:
function whenSecondWindowFinish(arg){
//update index.xml
$.result.setText(arg);
}
function startScan(e){
Alloy.createController('secondWindow');
}
$.index.open();
secondWindow.xml:
<Alloy>
<Window exitOnClose='false'>
</Window>
</Alloy>
secondWindow.js:
function scanOK(data){
var returnResult = /*Handle data*/
//I need to return the result to the index controller
$.secondWindow.close();//And close this view
}
function canceled(){
//return {} to index controller
$.secondWindow.close();//And close this view
}
var QRscanner = require('qrscanner');
var qroptions = {
//width height ...
success: scanOK,
cancel: canceled
};
var qrview = QRscanner.createQRView(qroptions);
$.secondWindow.add(qrview);
$.secondWindow.open();
Как я могу закрыть это окно в успехе/отмена функции и возвращает результат к контроллеру индекса или извещать индекс для выполнения whenSecondWindowFinish (/ проход агд сканирования результат /); метод? Или это правильный способ сделать это?
, что я понимаю, что вы хотите, чтобы отправить некоторый результат из '' secondWindow.js' к index.js' (я правильно?) И какой тип результата вы хотите отправить (String, object, other)? – turtle