2013-09-05 85 views
0

因此,我在過去幾天閱讀了Sproutcore教程。他們中的很多人都在討論如何綁定視圖和控制器。然後在模型上有關於商店和記錄的教程。我所缺少的是關於如何將控制器鏈接到模型的最佳實踐/教程。將Sproutcore控制器綁定到模型

鑑於我有一個模型:

Myapp.User = SC.Record.extend({ 
    id: SC.Record.attr(Number), 
    name: SC.Record.attr(String) 
}); 

和控制器:

Myapp.controller = SC.ArrayController.create(
{ 
     allowsMultipleSelection: NO, 
     selection: null, 
     isEditable: YES 
}); 

什麼是綁定他們的最好方法是什麼? (我知道我可以查詢商店並設置Myapp.controller.set('content',store.find(Myapp.User)),但我想還有更好的方法將它們綁定在一起?

對不起,如果這是一個真正的新手問題,我也很感謝鏈接到一個手冊或指南,回答這個問題。我一直在谷歌搜索幾個小時,並沒有發現有用的東西(並且很容易讓我理解)

回答

1

一般過程你將要使用的是讓你的狀態圖在適當的時間在控制器上設置內容

例如,當你的用戶處於01​​狀態時,你可能不需要你的大多數控制器有數據所以,什麼時候進入loggedIn狀態(使用enterState方法),您可能需要設置所有控制器,然後設置您的用戶界面。您通常會將控制器的內容設置爲特定的對象(如您從授權系統中獲得的用戶對象),或者返回SC.RecordArrayMyApp.store.find(...)調用。

+0

太好了,非常感謝,很清楚! (這實際上就是我所做的,但我不確定是否正確。) – ceed

+1

你不可能意外地碰到這個,或者已經意識到這一點,但是:確保你知道store.find的行爲 - 如果你傳入一個記錄類型和一個ID,它只返回一個記錄,而不是一個數組。只傳入一個記錄類型(或傳入一個SC.Query)會給你你正在尋找的數組。乾杯! – Dave

相關問題