gpt4 book ai didi

Angular:URL 更改不会在第一次重新加载页面

转载 作者:行者123 更新时间:2023-12-05 06:37:27 26 4
gpt4 key购买 nike

我知道这是个糟糕的问题,我没有代码,但我希望有人能对此有所启发。

我有一个 Angular 网站。

该站点加载不同产品的销售数据。产品名称显示在 URL 中

从网站中指向不同产品的链接来看,该网站运行良好。

如果我直接用产品名称更新 URL 并按回车键,网站不会重新加载。我必须选择整个 URL 并再次按回车键才能重新加载页面。

谁能想到为什么会这样?

最佳答案

您需要一种方法来告诉服务器您输入的 URL 是有效的 Angular 路由。因此,您需要将这些 URL 映射到 index.html。

因为我在后端使用 Java/Spring。我是这样做的。这解决了问题:

@Controller
public class Routing {

@RequestMapping({"/resources/**"})
public String api(final HttpServletRequest request){
String path = (String) request.getAttribute(
HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
return path;
}

@RequestMapping({ "", "/login", "/products/**" })
public String gui() {
return "forward:/index.html";
}
}

这里第一种方法只是返回以“/resources/**”开头的路径,因为在这个路径下,我所有的REST API都可用。第二种方法转发到 Angular 路由的 index.html。

请注意,转发到 index.html 不会更改浏览器地址栏上的 URL,但会触发 Angular 进行控制。

关于Angular:URL 更改不会在第一次重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47923921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com