Sencha MVC只是一個指導原則,結構並不嚴格執行。例如,您可以通過將所有事件偵聽器放入視圖中來創建不帶控制器的應用程序。或者,您可以維護1個控制器文件來處理您的所有視圖。隨你便。
聽起來好像您正在嘗試檢查ListStore的內容是否具有已存在於Notebook商店中的值。我會做的是在ListStore中創建一個「假」列,以檢查其對Notebook商店的值。
Ext.create('Ext.data.ListStore', {
...
fields: [
... (other fields) ...
{
name: 'isInNotebook',
convert: function(value, record) {
return this.verifyInNotebook(record.get('fieldToVerify'));
}
}
],
verifyInNotebook: function(verifyValue) {
var notestore = Ext.getStore('NotebookStore');
return notestore.FindExact(verifyValue);
}
}
那麼在你看來,你將決定取決於列「isInNotebook」,這是一個虛擬的生成列的值,以顯示其按鈕。
我希望這會有所幫助。
In Touch/ExtJS,控制器應該只處理視圖上的事件。僅將它們用作助手以查看視圖...將事件處理程序移動到的地方。 –
@NeilMcGuigan那麼,請你給我一些關於這個特定場景的建議嗎?我是否應該在商店中傳遞筆記本中的信息?非常感謝! –
我覺得最好先嚐試一下視圖中的代碼,然後將它移到控制器(就在你剛開始時) –