问题标签 [angular-resolver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1520 浏览

angular - 如何将 Angular 8 解析器与打字稿一起使用?

我正在尝试制作一个类似于 pastebin.com 的应用程序,我可以在其中使用语法高亮显示。现在我正在尝试制作共享文件方法。我从 .NET Core API 获取所有数据,而响应正是我所需要的。

问题是当我打开共享链接时,组件在承诺解决之前被初始化。

假设我想打开以下链接: http://localhost:4200/shared/1

当我打开链接时,文件 = 1的数据被提取并放置在模型中。然后我希望加载组件并显示 html。

我不明白解析器是如何工作的,我该怎么办?谢谢。

用户服务.ts

应用程序路由.module.ts

文件共享.component.html

文件共享.component.html

这是 URL 的外观: http://localhost:4200/shared/MThBU1AgLk5FVCBDb3Jl

控制台日志

0 投票
2 回答
1037 浏览

javascript - 让 Angular 解析器等待图像

我该怎么做才能让解析器等到它从 API 获取图像。现在,Angular 等到收到数据,显示页面,然后尝试获取帖子的图像。

0 投票
0 回答
307 浏览

angular - 在 Angular 中存储/恢复路径更改时的部分表单值

在路线之间导航时,您将如何实现保存部分填写的表格?

例如。用户开始填写表格,但决定导航到不同的路线,然后返回原始表格。

通常情况下,当组件被销毁时,所有已经填充的数据都会丢失,所以我需要在离开路由时以某种方式存储它们。

我正在为应用程序中的所有表单寻找通用解决方案。

我所有的表格都有:

我试图创建RouteGuard实现CanDeactivate接口。
这使我能够挂钩组件卸载事件,并查看component.form.pristine状态并最终存储component.form.valuelocalStorage.

所以现在应用程序中使用这个守卫的所有表单都将它们的值保存到本地存储中。

下一步是在创建具有表单的组件时从该存储中加载数据。

我正在寻找在构造函数之后为每个组件调用的东西。

我可以使用解析器,但在我的应用程序中我一般不使用它们(我更喜欢看到布局部分是可见的+进度指示器)。

也许我可以延长FormBuilder
在这种常见情况下,通常的模式是什么?

0 投票
1 回答
275 浏览

angular5 - 在 Resolver Angular 5 中未执行解析函数

由于一个非常愚蠢的原因,我从今天早上开始就处于一个大问题中。这应该有效,但我不明白是什么阻止了它。无论如何,下面的代码

我的解析器:

我的模块:

不要担心服务或调用组件,因为它们甚至不会出现在图片中。我只是在调用这条路线,并且解决方法被击中。但是,resolve 方法并没有被执行,它只是跳转到方法的关闭处,然后返回到调用组件。换句话说,如果我在解析器方法上放置一个调试器,它会被命中但永远不会进入其中。它似乎只是跳过它。

因此,如您所见,它不会在控制台中显示任何消息,例如“解析器方法命中”。

是的,我在模块的提供者中添加了 UserResolver。

0 投票
0 回答
13 浏览

angular - 如何使用函数实现角度解析器?

我想为我的导航栏创建一个数据解析器。因此,由于导航栏组件不在路由模块中,因此使用服务我无法将其放入我的应用程序路由模块中。如何解决?

如果重复,请随时关闭此问题,但在谷歌搜索、堆栈溢出和相关主题中没有找到答案。

谢谢你的帮助!

0 投票
2 回答
1494 浏览

angular - Angular 8 Resolver - 如何从一个解析器获取数据作为其他解析器的输入?

我有 2 个 REST API。来自这两个 API 的数据都是必需的。同时,第二个 API 将 API 1 的输入作为参数。

GET api/one --> {id: 3},GET api/two 需要这个响应id?inputFromApiOne=3 --> {name: 'SS'}

我在组件中可用的最终响应应该是 -

我已经使用解析器从 API One 获取数据,但无法将其用作第二个解析器的输入。

我还尝试从 resolver1 中的两个 API 获取数据。我使用了 flatMap,但最后我只得到了来自第二个 API 的数据。

0 投票
1 回答
220 浏览

javascript - Angular 8解析器未解析

我在构造函数中有 console.log 和 Resolver 的 ngOnInit() 但没有记录。

解决:{serverResolver:ServerResolverDynamicDataService}},

console.log("ServerResolverDynamicDataService 构造函数");

console.log('ServerResolverDynamicDataService 解析:'

解析器:

更新 1 : app.module.ts 在提供者中有此服务的条目

每当 URL( http://localhost:4200/servers/1?allowToEdit=0&allowTest=2#loadPage) 被命中时,解析器都没有日志,但代码中有日志,如果我编辑应用程序日志的任何其他部分,应用程序会正确刷新。所以应用程序更改反映了唯一的问题是没有调用解析器。

Update2如果我删除正在工作的父 canActivateChild服务,则不会调用 Angular 2+ 路由解析器。但是我不知道出了什么问题。请帮助我理解。

0 投票
0 回答
728 浏览

angular - Angular 9:同一组件上的解析器和服务

我有一个服务,我可以通过这个简单的功能从我的后端获取学生列表

学生服务.ts

我已经设置了一个解析器在页面呈现给用户之前加载学生

学生解析器service.ts

路由.ts

这是我的学生-component.ts

students-component上,有一个用于创建新学生的弹出表单。一旦提交了该表单,它就会从组件中消失。我想从我的后端刷新学生列表,以便立即向用户显示全新创建的学生。不幸的是,解析器不会再次获取学生列表,因为在表单提交后路由不会刷新。所以问题来了。为了克服这一点,我编写了一个简单的fetchStudents()方法,它实际上与解析器执行完全相同的操作,但每次提交表单时都会调用它。我不喜欢这种方法,因为现在我的组件对学生服务有双重依赖:一个由解析器提供,一个由它自己提供。有没有办法仅通过解析器来完成这项工作?如果没有,在同一个组件中同时拥有解析器和服务(解析器最初从中获取相同数据)是否不好?

注意:为简洁起见,我省略了发布表单组件。它的作用是,当提交时,触发toggleStudentFormHandler方法,该方法又调用fetchStudents方法来检索新的学生列表

0 投票
2 回答
605 浏览

angular - Angular 解析器 observable 过早完成

我将主题作为可观察对象从服务传递给解析器。当一个 http 请求完成或当它发现它需要的数据被缓存时,服务可能会完成 observable。在第二种情况下,数据被缓存,看起来 observable 完成得太早了,因为路由转换没有发生。如果我将 requestSubject.complete() 放在 setTimeout 中并有一些超时,它可以工作,否则它不会。

0 投票
1 回答
48 浏览

angular - 带有辅助路由的解析器

我的新 Angular 有一个带有 3 个小部件的仪表板。对于一个小部件 ( PreviousInquiriesComponent),我想添加一个解析器,以便在它的数据准备好之前不会显示该小部件。