Слушатель титановой кнопки для пользовательской функции
Я создаю простое приложение для поворота изображения с помощью текстового поля и кнопки. (Сплав не используется)
Когда я ловлю событие на eventListener, я хочу использовать две пользовательские функции, но я получаю странную ошибку.
Код выглядит следующим образом
Titanium.UI.setBackgroundColor('#000');
var win1 = Titanium.UI.createWindow({
title: "App Rotation",
backgroundColor : 'orange'
});
// Create a TextField.
var textField = Ti.UI.createTextField({
height : 35,
top : 10,
left : 40,
width : 240
});
win1.add(textField);
// Create an ImageView.
var image = Ti.UI.createImageView({
image : 'appceleratorIcon.png',
});
// Add to the parent view.
win1.add(image);
var current_degrees = 0;
// Create a Button.
var button = Ti.UI.createButton({
title : 'Rotate Image',
top : '70%',
left : '30%'
});
// Listen for click events.
button.addEventListener('click', function() {
var txtfield_value = textField.value;
var dialog_text;
var dialog_title;
if (txtfield_value >= -90 && txtfield_value <= 90) {
current_degrees = rotate_degrees(current_degrees, txtfield_value);
dialog_text = "Rotated " + txtfield_value;
dialog_title = "Rotation completed";
} else {
dialog_text = "Type between -90 and 90";
dialog_title = "Error!";
}
show_dialog(dialog_text, dialog_title);
});
// Add to the parent view.
win1.add(button);
function rotate_degrees(new_degrees, old_degrees) {
var matrix2d = Ti.UI.create2DMatrix().rotate(new_degrees);
img.transform = matrix2d;
return (parseInt(new_degrees) + parseInt(old_degrees));
}
win1.open();
function show_dialog (dialog_text, dialog_title) {
var dialog = Ti.UI.createAlertDialog({
message: dialog_text,
ok: 'Continue',
title: dialog_title
});
dialog.show();
}
И ошибка заключается в следующем:
[ERROR] : ReferenceError: anium is not defined
[ERROR] : File: app.js
[ERROR] : Line: undefined
[ERROR] : SourceId: undefined
[ERROR] : Backtrace:
[ERROR] : undefined
Я пробовал комментировать коды, и единственное время, когда эта ошибка не появится, - это когда я комментирую обе пользовательские функции.
Является ли это способом кодирования пользовательских функций, чтобы при вызове кнопки я мог выполнять свою функцию, чтобы программа оставалась "чистой" и не загрязненной кодом?
Заранее спасибо.
1 ответ
"Аниум" не определен, выглядит как опечатка где-то еще. Просто поищите его, возможно, вы найдете где-нибудь пространство между "Tit anium".
Также у вас есть функция dialog_title, но вы создаете локальную переменную с тем же именем и хотите использовать эту функцию внутри EventListener кнопки.