2017-10-19 9 views
0

低速モデルページ用のプリロードページを追加しようとしています。しかし、私のルータはプリロード用のテンプレートを表示していません。ここEmber - Preloadページ低速モデル用にトリガーしない

はルートの私の構造である:

http://localhost:4302/cs2i/purchase/purchaseDetails

this.route('cs2i', function() { 

    this.route('purchase', function() { 
     this.route('purchaseDetails', function(){ 
     this.route('loading'); //not loading I do have template 
     }); 
     this.route('purchaseDetails-loading'); //not loading I do have template 
    }); 
    }); 

問題が何でありますか?私のデータとテンプレートがレンダリングされるまで私はどのように私のルートにプリローダーを置くことができますか?

ありがとうございます。

また、データロード前でもトリガである「購入」ページでアクションがあります。

+0

私はあなたがロードするためにrouter.jsで指定する必要はないと思う。これは自動的に選択されてレンダリングされ、存在するならレンダリングする – kumkanillam

+0

テンプレートだけで十分ですか? – 3gwebtrain

+0

router.jsからルートを削除しました。しかし、まだテンプレートがピックアップされていない...どんなひねり? – 3gwebtrain

答えて

1

ルートにローディングアクションを定義すると、デフォルトの動作(テンプレートを表示)が上書きされます。ローディングテンプレートを表示する場合は、ローディングアクションからtrueを返す必要があります。

参照:https://guides.emberjs.com/v2.16.0/routing/loading-and-error-substates/#toc_the-code-loading-code-event

はまた、あなたがpurchaseルートのモデルフックでデータをロードしている場合、ルーターの設定で説明したように、purchase.loadingテンプレート/ルートがpurchase.purchaseDetails.loadingロードされないことになることに注意してください。

+0

私のデータは「purchaseDetails」にのみ読み込まれます。 – 3gwebtrain

関連する問題