簡體   English   中英

從Ember對象過渡到路線的動作

[英]Transition to route's action from Ember object

我是炭燼新手。 我有一個現有的Ember App,我需要在其中實現功能。 我有一個Ember對象,如下所示

`import Ember from 'ember'`

CallService = Ember.Object.extend

 ... other code here

 _updateConnectedLeadId: (->
    console.log "Do i get here??"

    **pass the route action here**

  ).observes('some_other_here')
`export default CallService`

不幸的是,我無法將整個代碼放在這里。

我的路線看起來像

ApplicationRoute = Ember.Route.extend
  actions:
    showLead: ->
      console.log data
      console.log "did i get here?"
      @transitionTo('dashboard')

`export default ApplicationRoute`

我嘗試在我的方法中使用@send('showLead')@sendAction('showLead') ,但是沒有運氣。

我的主要目的是在console.log "Do i get here??"進行過渡。 被陳列。 我不確定在這里我走的路是否正確。

我也嘗試過直接使用@transitionTo('dashboard')@transitionToRote('dashboard') ,但這會引發錯誤。

我已經為此停留了一天,我一無所知。

如有任何指導和幫助,我將不勝感激。 謝謝

您有一個問題,您試圖從名為call service的Ember.Object內觸發路由操作或觸發轉換。 您創建的代碼不清楚自定義對象的創建位置。 由於更改了對象的屬性更新而觸發了觀察者的位置,依此類推。

不過,我試圖為您提供一個可行的例子 如果打開旋轉按鈕,您將看到我在index.js路由中創建了一個my-object實例,並將其作為model傳遞給my-component 單擊my-component.hbs的按鈕時。 將切換my-object實例dummyVariable並執行my-object內的觀察者。 這里最棘手的部分是我將index路由本身作為ownerRoute屬性傳遞給了my-object實例; 這樣我就可以從my-object.js內觸發index路由的dummyAction

ownerRoute.send('dummyAction');

以便執行相關操作並執行到my-route轉換。 雖然,我相信這可能會解決您的問題; 我對設計不太滿意。 我認為這不是Ember.Objects了解路由,動作,控制器等的好方法。我相信正確的方法是從此構造中觀察對象的相關屬性,並自行執行必要的動作。 此外,您可以考慮創建service而不是對象,並將服務直接注入到路由中,而不是創建擴展Ember.Object的類的實例。 如果必須從Ember.Object擴展, Ember.Object可以根據需要通過使用實例初始化器將相關的路由,控制器等注入該特定對象類的實例

無論如何,請看看旋轉的感覺,並詢問更多是否需要。 如果可以的話,我很樂意提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM