1

私はサーバーから値を取得し、リダイレクトのパラメータとして使用しようとしています。角度1.6で "resolveRedirectTo"を使用するにはどうすればよいですか?

Iは、提供された文書の意味を作ることができなかった。

resolveRedirectTo - {関数=} - (最終的に)と$ロケーションURLを更新するために値を返し、トリガ経路リダイレクトする関数。 redirectToとは対照的に、依存関係はresolveRedirectToに注入することができ、戻り値は文字列または文字列に解決される約束のいずれかになります。

何とか私は文字列で応答に参加する必要がありますが、私はどのように把握できません。

resolveRedirectTo: ['settingsService', function (settingsService) { 
      var promise = settingsService.getSettings(); 
       ??? 
      return '/settings/' + resolved.setting[0].id; 
     }], 

どのような提案も素晴らしいでしょう!

答えて

0

これが役に立つかどうかわかりませんが、resolveRedirectTo "リゾルバ"は一度も使用していませんが、もしそれが同じ場合はresolveのように動作するはずです。ドキュメントによれば :

resolveRedirectTo - {関数=} - (最終的に)と$位置URLとトリガ経路 リダイレクトを更新する値を返す する関数。 redirectToとは対照的に、依存関係はresolveRedirectToに を注入し、を返すことができます。返り値は文字列に解決される文字列または とすることができます。

だから、あなたのケースでは、あなたがgetSettingsメソッドによって返さ約束返す必要があります:

resolveRedirectTo: ['settingsService', function (settingsService) { 
    return settingsService.getSettings().then((settings)=>{ 
     // Use the obtained settings to calculate the URL. 
     return '/settings/' + settings[0].id; 
    }); 
}], 
+0

をご提案いただきありがとうございます!残念ながら、 "then"関数を入力することはありません。それは私が約束を返すようになるか、または文字列で連結された解決された約束ではない。私はテンプレート内の$決意を使って、それを解決する決意で 、 テンプレート:「」、私はresolveRedirectToで約束を使用するかどうかはわかりません。私はこれに別のアプローチを使わなければならないかもしれません。 –

関連する問題