1
我創建了一個具有背景圖像,樣式等的自定義菜單,因此我創建了一個單獨的menuTile視圖和控制器並將它發送給背景,標題和回調。如果我使用Require標籤添加多個menuTiles,則所有的tile會觸發最後一個menuTile的回調,而不是它們各自的一個。我相信我的代碼中沒有錯誤/拼寫錯誤,所以也許這是對Require標記或回調的誤解。請協助。Appcelerator:同步到最後回調的多個子視圖
menu.xml文件,Menu.js ...
<View id="vwBody">
<Require src="menuTile" id="menuTile1" />
<Require src="menuTile" id="menuTile2" />
<Require src="menuTile" id="menuTile3" />
</View>
function initializeMenuTiles() {
$.menuTile1.initialize({
backgroundImage: 'img1.jpg',
title: 'Menu Tile 1',
callback: btnMenuTile1Click,
});
$.menuTile2.initialize({
backgroundImage: 'img2.jpg',
title: 'Menu Tile 2',
callback: btnMenuTile2Click,
});
$.menuTile3.initialize({
backgroundImage: 'img3.jpg',
title: 'Menu Tile 3',
callback: btnMenuTile3Click,
});
}
MenuTile.js ...
$.initialize = function(args) {
$.btnMenuTile.backgroundImage = '/images/' + args.backgroundImage;
$.btnMenuTileLabel.text = args.title;
if (args.callback) {
btnMenuTileClicked_callback = args.callback;
}
};
function btnMenuTileClick() {
if (btnMenuTileClicked_callback) {
btnMenuTileClicked_callback();
}
}
所以不管什麼menuTile我點擊,btnMenuTile3Click永遠火。如果我不提供menuTile3的回調,那麼btnMenuTile2Click將始終激活。
好看準;-) –