6
我似乎有在Appcelerator的鈦鋁合金麻煩更新對象,鈦合金:從不同的控制器訪問用戶界面?
我基本上要能夠錶行添加到表是在不同的控制器/認爲我目前在.... 。希望下面將更好地描述這個:■
basket.xml
<Alloy>
<Window id="basketWindow" class="container">
<TableView id="basketTable" />
<Button id="addItemButton" onClick="addItem">Add Item</Button>
</Window>
</Alloy>
basket.js
function addItem()
{
var itemList = Alloy.createController('item_list');
itemList.getView().open();
}
item_list.xml
<Alloy>
<Window id="itemListWindow" class="container">
<TableView id="itemListTable">
<TableViewRow id="item1" className="item" onClick="addItemToBasket">
Test Item
</TableViewRow>
</TableView>
</Window>
</Alloy>
item_list.js
function addItemToBasket()
{
var row = Ti.UI.createTableViewRow({title: 'Test Item'});
// Here i would ideally want to put something like $.basketTable.append(row);
// But nothing happens, im guessing it cant find $.basketTable as its in a different controller?
}
有誰知道遠解決此問題?
感謝您的閱讀:)
太棒了!非常感謝Josiah,完美的作品:) – David
我喜歡這個答案,但我也很好奇這樣做的更「模型 - 視圖 - 控制器」的方式。假設「籃子」是一個模型或集合,我希望自動與服務器同步。應用程序級別的事件仍然是一個好的解決方案嗎? – Brad
應用程序級別事件可能會觸發「模型」發生更改的全局同步事件,這會逐漸下降,通知每個控制器模型已更改,然後更新其視圖。所以一些相同的概念適用。雖然「應用程序級別事件」可能會被籃子集合中的Backbone事件所取代。 –