你可以使用
Angular 的 Router 类的 navigate 方法来跳转到另一个路由。你可以使用 Router 类的
url 方法来获取当前路由的
URL。你可以在你的路由配置
中设置一个通配符路由,用来匹配所有无法匹配到其它路由的
URL。然后你就可以在通配符路由的组件
中处理 404 错误。
示例代码:
import { Router } from '@
angular/router';
AngularJS框架提供了一种HTML5模式的路由,可以直接
去掉#号。通过设置$locationProvider.html5Mode(true)就行了。
1.添加base标签
html lang="zh-CN" ng-app="app">
base href="/"> //增加base标签
// 省略代码
将前端代码打包部署到Java服务器中,当跳转到相应路由界面,刷新地址,服务找不到地址页面,所以会报 404 - Page Not Found。
解决方法:只需要将路由转换成哈希值: userHash: true,将路由转化成“#”号的形式
以下两种方式修改路由,使用hash:
1、app.module.ts
imports: [
RouterModule.forRoot(ro...
import { LocationStrategy, HashLocationStrategy,PathLocationStrategy} from ‘@
angular/common’;
路由
中配置
providers: [
HttpClient,
// { provide: LocationStrategy, useClass: HashLocationStrategy },//含有
#...
刚遇到Angular4项目npm run build 后部署到服务器可以访问,但是刷新页面会出现404的错误!在网上搜了一下看到有些人写的解决办法还有错误在里面,一眼看就知道的错误,感觉这些人真的有毛病,决定写了博客,为什么那么不仔细,写错误的上去,祸害别人吗!!
解决angular2页面刷新后报404错误办法:
配置app.module.ts
import {HashLoc
在 Angular 中,当浏览器刷新时,默认会跳到 loading 页面。如果发现路由不存在,就会跳到 404 页面。
你可以在 Angular 应用的路由模块中配置这些路由,并在应用的组件中实现对应的视图。
例如,你可以在路由模块中使用如下代码来配置 loading 和 404 页面:
const routes: Routes = [
{ path: 'loading', component: LoadingComponent },
{ path: '404', component: PageNotFoundComponent },
// 其他路由
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
export class AppRoutingModule { }
然后,你就可以在组件的模板中使用路由指令来显示这些页面,例如:
<router-outlet></router-outlet>
这样,当用户浏览到对应的路由时,就会显示对应的组件。