Sencha Touch 2 を Architect と ASP.NET MVC 4 WebApi バックエンドで使用する方法については、このチュートリアルに従いました: https://vimeo.com/45207356#すべてが機能しますが、単純なことです。詳細フォームから戻るとすぐに、itemtap イベント リスナが機能していないようです。保存、削除、または単に戻るボタンを押しても、メイン ビュー (リストのあるビュー) に戻るとすぐに編集フォームに戻ることができません。メイン ビュー コードは次のとおりです。
Ext.define('ClientTestApi.view.Main', {
extend: 'Ext.navigation.View',
config: {
id: 'Main',
items: [
{
xtype: 'list',
title: 'Songs',
id: 'ListePieces',
itemTpl: [
'<div>{Title}, {Artist}, {Album}, {Genre}, {Year}</div>'
],
loadingText: 'Chargement...',
store: 'PieceStore'
}
]
}
});
そしてコントローラー:
Ext.define('ClientTestApi.controller.PieceSimple', {
extend: 'Ext.app.Controller',
config: {
refs: {
mainView: '#Main',
formPiece: '#FormPiece',
listePieces: '#ListePieces'
},
control: {
"#ListePieces": {
itemtap: 'onListItemTap'
}
}
},
onListItemTap: function(dataview, index, target, record, e, options) {
var form = Ext.create('ClientMusiqueApi.view.FormPiece',
{
title: record.data.Titre
});
this.getMainView().push(form);
form.setRecord(record);
}
何もせずに戻るボタンを押したときにも動作が発生するため、保存と削除のコードは省略しました。
そのため、アプリをロードすると、すべてが機能します。項目をクリックすると、編集フォーム ("FormPiece") が表示されます。戻ると(たとえばナビゲーションバーの戻るボタンで)、リストは正常に表示され、アイテムをクリックすると選択されますが、今回は編集フォームが開きません。誰も理由を知っていますか?
更新: 簡単なテスト (onListItemTap イベントにアラートを入れた) の後、戻った後でもイベントが発生することがわかりました。問題は「push()」メソッドにあるようです。しかし、Chrome のコンソールでトレースすると、問題なく動作します。明らかな理由もなく、編集フォームは表示されません。