2012-03-04 44 views
1

我已經從一個網頁套接字服務器通過在onMessage處理程序通過了將要等待JSON對象以下餘燼控制器每個響應:如果把灰燼視圖從WebSocket的

Lead.Controllers.ParsingController = Ember.Object.extend 
    start_parsing: (url_search) -> 
    socket = new Lead.WebSocket("ws://#{document.domain}:61615") 

    socket.onopen = (evt) -> 
     socket.send url_search.search_url 

    socket.onmessage = (evt) -> 
     Lead.leads_controller.addLead evt.data 

我LeadsController目前看起來是這樣的:

Lead.Controllers.Leads = Ember.Object.extend 

    addLead: (lead) ->  
    @view = Ember.View.create 
     controller: @ 
     #etc. 

我的問題是:

  1. 我說的對不使用A rrayController,因爲它們只能用於集合?對於顯而易見的問題抱歉,但我只想檢查。
  2. 如果我創建一個新視圖,每次調用addLead方法,我是否需要保持對內部數組中每個視圖的引用,並且在處理主視圖時遍歷數組,調用每個子視圖上的dispose ?
  3. 我會更好地爲每個附加的子視圖創建一個單獨的控制器嗎?我猜不是,但想檢查。

任何關於這些問題的幫助或指導將不勝感激。

回答

4

我不會回答你的具體問題,而是建議一個替代的實現,我認爲這會更加地道的Ember並且更簡單。

很難告訴你更廣闊的視野層的樣子,但我根據我在你的問題域的猜測,我會認爲你將有一個#each助手或CollectionView是數據綁定到一個leadsController其子類ArrayProxy。當json從websocket進入時,請致電leadsController上的pushObject。綁定會自動更新並在視圖輸出中呈現新的潛在客戶。

如果我誤解了應用程序的功能,請做澄清。