2017-03-28 1 views
1

私はかなり新しいemberです。私は既存のEmber Appを持っており、その中に機能を実装する必要があります。私は以下のEmberオブジェクトを持っています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` 

残念ながら、私はここでコード全体を入れることができませんでした。

私のルートは、私は私の方法が、運に@send('showLead')@sendAction('showLead')を使用してみました

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

`export default ApplicationRoute` 

のように見えます。

私の主な意図はconsole.log "Do i get here??"が表示されたら、移行を作ることです。私はここに正しい方法でいるかどうかはわかりません。

私も@transitionTo('dashboard')@transitionToRote('dashboard')を使ってみましたが、それは間違いです。

私は今これで一日立ち往生しており、私は無知です。

私はあらゆる指導と助けに感謝します。おかげ

+0

ここでコードをアップロードすることができます。https://ember-twiddle.com/ – winter

+0

@amaia、私は本当に必要とは思わないでしょう。私は関連性のある重要なコードを提供しました。私はそれ以上のことを求めているどんな答えも待つつもりです。しかし、リンクをありがとう。 – Aakanksha

答えて

1

は、あなたがルートアクションをトリガーするかEmber.Object、名前のコールサービス内からの移行をトリガしようとしているという問題があります。作成するコードは、カスタムオブジェクトの作成場所が不明です。オブザーバがオブジェクトのプロパティの更新などによってトリガされる場所などがあります。

それにもかかわらず、私はあなたのために働いてexampleを提供しようとしました。ひねりを開くと、インスタンスがindex.jsルート内に作成され、modelmy-componentというように渡すことがわかります。 my-component.hbs内のボタンをクリックすると。 my-objectインスタンスdummyVariableがトグルされ、オブザーバmy-objectが実行されます。ここで難しいのは、indexというルート自体をownerRouteプロパティとしてmy-objectインスタンスに渡したということです。関連するアクションが実行され、my-routeへの移行が行われるように、私は

ownerRoute.send('dummyAction'); 

indexルートのdummyActionmy-object.js内からをトリガすることができるように。私はあなたの質問を解決するかもしれないと信じていますが、私はそのデザインには満足していません。私はEmberのための良い方法だと思っていません。オブジェクトは、ルート、アクション、コントローラなどについて知るべきです。私は、このコンストラクト内からオブジェクトの関連プロパティを観察し、必要なアクションを独自に実行することが適切な方法だと考えています。さらに、オブジェクトの代わりにserviceを作成し、Ember.Objectを拡張するクラスのインスタンスを作成する代わりに、サービスをルートに直接注入することも考えられます。 Ember.Objectから拡張する必要がある場合は、必要に応じてinstance-initializerを使用して、関連するルート、コントローラなどをその特定のオブジェクトクラスのインスタンスに挿入できます。

とにかく、あなたが必要な場合は、ひねりを見て、もっと尋ねてください。私ができるなら私は喜んでお手伝いします。

+0

デモを作成していただきありがとうございます。私は標準についてあまり気づいていませんが、私はあなたに同意すると思います。「私は思っていません。Emberにとっては良い方法です。オブジェクトは、ルート、アクション、コントローラなどについて知ることができます。 「私は、このコンストラクト内からオブジェクトの関連プロパティを観察し、必要なアクションを自分自身で実行することが適切な方法であると信じています」さらに、オブジェクトではなくサービスを作成し、 Ember.Objectを拡張するクラスのインスタンスを作成するのではなく、ルートを作成します。 " – Aakanksha

+0

@Aakanksha確かにもっと時間があるときは、もっと説明します。 – alptugd

+0

私はそれを感謝します。ありがとうございます。 – Aakanksha

関連する問題