1

我正在尝试从服务器检索值,然后将其用作重定向中的参数。如何在Angular 1.6中使用“resolveRedirectTo”?

我不能让提供的文件的意义:

resolveRedirectTo - {功能=} - 一个功能,将(最终)返回值与和触发路由重定向更新$位置网址。与redirectTo相比,依赖关系可以注入resolveRedirectTo,并且返回值可以是字符串,也可以是将被解析为字符串的承诺。

所以不知何故,我需要加入与字符串的响应,但我无法弄清楚如何。

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

任何建议都会很棒!

回答

0

我不确定这是否会有所帮助,我从来没有使用resolveRedirectTo“解析器”,但如果它看起来应该与任何resolve一样工作。 根据文档:

resolveRedirectTo - {功能=} - 它(最终) 返回值来更新$位置URL和触发路线 重定向的功能。与redirectTo相比,依赖关系可以注入 into 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

谢谢您的建议!不幸的是,它似乎并没有进入“当时”的功能。看来我得到的是返回一个promise字符串,而不是一个与字符串连接的已解决的promise。 在我决心解决它通过使用模板中$决心, 模板:“”,我不知道如何使用resolveRedirectTo的承诺。这可能是我必须使用另一种方法。 –

相关问题