2
好吧,所以我正在開發一個移動應用程序,我想確保我的結構是正確的,所以我可以繼續添加更復雜的東西。鈦手機控制器故障
Basicaly我問這是否是最好的方法來做到這一點。
這是我的控制器:
app.controller.newItem = function(object) {
var item = app.view.newItem();
item.cancel.addEventListener("click", function(){
item.win.close();
});
item.save.addEventListener('click', function(e) {
if (String(name.value).length > 0){
var lastInsert = app.model.addItem({
title: item.name.value,
todo: item.todo.value,
section: 1,
placement: 1,
matrix_id: object.id
});
Ti.App.fireEvent('item_updated', { title: item.name.value, todo: item.todo.value, id: lastInsert, section: '1' });
item.close();
}
});
}
那麼這是我的看法:
app.view.newItem = function() {
// create new item window
var win = Titanium.UI.createWindow({
title:'Add a New Item',
backgroundColor:'stripped',
navBarHidden: false
});
// navbar buttons
var cancel = Titanium.UI.createButton({title:'Cancel'});
var save = Titanium.UI.createButton({title:'Save', style:Titanium.UI.iPhone.SystemButton.SAVE,});
// labels and text areas
var name_label = app.ui.label({
text: "Item Name:",
top: 35,
left: 30
});
var name = app.ui.textArea({
height: name_label.height,
top: name_label.top + 35
});
var todo_label = app.ui.label({
text: "Todo:",
top: name.top + 40,
left: name_label.left
});
var todo = app.ui.textArea({
height: 70,
top: todo_label.top +35
});
//set items
var setItems = function() {
win.setLeftNavButton(cancel);
win.setRightNavButton(save);
win.add(name);
win.add(name_label);
win.add(todo);
win.add(todo_label);
win.open({modal: true, animation: true});
}();
return {
win: win,
cancel: cancel,
save: save
}
}
我應該將我的事件監聽器在我的控制?我真的不想使用 item = app.view.newItem();
然後item.save.addEventListener()..
sintax我不能只叫他們save.addEventListener
而不是在item
前面。我不能因此而使save
成爲一個全局變量吧?
什麼是您的控制器和模型(和項目)的定義?我不確定我是否理解你的代碼。 – mkind
以及我不確定我的控制器應該做什麼。我將我的事件監聽器添加到我的控制器中......我沒有發佈我的模型。我基本上有處理我的數據庫連接的函數。我的觀點有我的所有對象來顯示。和控制器......我知道它應該做什麼,但我不知道該怎麼做。我基本上只是調用繪圖函數...並添加偶處理程序... –