我使用的是角度2.0.0-阿尔法.30版本。当重定向到其他路由时,刷新浏览器,其显示无法获取/路由。
你能帮我弄清楚为什么会发生这个错误吗?
Angular默认使用HTML5 pushstate(PathLocationStrategy
在Angular俚语中)。
您要么需要一个处理所有请求的服务器,就像它在请求index.html
一样,要么切换到HashLocationStrategy
(路由的URL中带有#)https://angular.io/docs/ts/latest/api/common/index/HashLocationStrategy-class.html
另见https://ng milk . rocks/2015/03/09/angular js-html 5-mode-or-pretty-URLs-on-Apache-using-htaccess/
要切换到HashLocationStrategy,请使用
的更新
import {HashLocationStrategy, LocationStrategy} from '@angular/common';
@NgModule({
declarations: [AppCmp],
bootstrap: [AppCmp],
imports: [BrowserModule, routes],
providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}]
]);
或更短的使用哈希
imports: [RouterModule.forRoot(ROUTER_CONFIG, {useHash: true}), ...
确保您拥有所有必需的导入
对于新的(RC.3)路由器
<base href=".">
也会导致404。
它要求取而代之的是
<base href="/">
的更新
bootstrap(AppCmp, [
ROUTER_PROVIDERS,
provide(LocationStrategy, {useClass: HashLocationStrategy})
// or since RC.2
{provide: LocationStrategy, useClass: HashLocationStrategy}
]);
import {provide} from '@angular/core';
import {
PlatformLocation,
Location,
LocationStrategy,
HashLocationStrategy,
PathLocationStrategy,
APP_BASE_HREF}
from '@angular/common';
的更新
import {BrowserPlatformLocation} from '@angular/platform-browser';
import {provide} from 'angular2/core';
import {
// PlatformLocation,
// Location,
LocationStrategy,
HashLocationStrategy,
// PathLocationStrategy,
APP_BASE_HREF}
from 'angular2/router';
import {BrowserPlatformLocation} from 'angular2/src/router/location/browser_platform_location';
import {provide} from 'angular2/core';
import {
HashLocationStrategy
LocationStrategy,
ROUTER_PROVIDERS,
} from 'angular2/router';
另见https://github.com/angular/angular/blob/master/CHANGELOG.md#200-beta16-2016-04-26中断-变化
免责声明:此修复适用于Alpha44
我遇到了同样的问题,并通过实施Angular中列出的HashLocationStrategy解决了这个问题。io API预览。
https://angular.io/docs/ts/latest/api/common/index/HashLocationStrategy-class.html
首先导入必要的指令
import {provide} from 'angular2/angular2';
import {
ROUTER_PROVIDERS,
LocationStrategy,
HashLocationStrategy
} from 'angular2/router';
最后,像这样引导它
bootstrap(AppCmp, [
ROUTER_PROVIDERS,
provide(LocationStrategy, {useClass: HashLocationStrategy})
]);
您的路由将显示为http://localhost/#/route,当您刷新时,它将在适当的位置重新加载。
希望这有帮助!
您看到的错误是因为您正在请求http://localhost/route这是不存在的。据西蒙介绍。
使用 html5 路由时,需要将应用(当前为 404)中的所有路由映射到服务器端的索引.html。以下是为您提供的一些选项:
> < li>
使用实时服务器:https://www.npmjs.com/package/live-server
$live-server --entry-file=index.html`
使用nginx:http://nginx.org/en/docs/beginners_guide.html
error_page 404 /index.html
Tomcat-web.xml的配置。来自Kunin的评论
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
我有一个问题,看起来很简单,但现在不那么简单了(对我来说): 我已使用Vue cli(路由器、VueX、PWA)设置了一个Vue项目。我一如既往地设置了一些路由(按照文档中的建议)和VueX中的一些状态字段: 在我的视图/组件中,我在实例上使用方法,以编程方式死记硬背,如下所示: ,其中是等待的
我有几个路线,每个路线装载3个组件。所有管线上的两个组件都相同。当我在这些路由之间移动时,我希望传递新数据,在组件的某个初始化事件上,我希望填充该组件的数据,以便它反映在UI上。我还想重新触发正在加载的组件的引导动画。我该怎么做呢。因为现在,我不知道在组件的生命周期中,我将在哪里获取数据,并使用这些新数据重新提交组件。具体来说,在myapps/1和/newapp/I中有一个主视图组件和一个侧栏组件
我在这个拉请求中看到: > 重新加载当前路径并再次调用数据钩子 但是当我尝试从Vue组件发出以下命令时: 我得到这个错误: 我搜索了文档,但没有找到任何相关的内容。vue/vue路由器是否提供类似的功能? 我感兴趣的软件版本有: 另外,我知道是备选方案之一,但我正在寻找本机Vue选项。
我有一个关于Vuejs和Vue路由器的项目。当用户登录系统时,服务器返回一个带有令牌、用户名和名字的Json文件,该文件存储在localstorage中,以便在以下请求中使用。第一个名称在布局中用于在导航栏中显示欢迎消息。注销后,localstorage被清除,问题就在这里,当其他用户在消息welcome not reload中使用新的名字付费时。
在运行我的项目后,我得到了白页,但它的工作。我需要在浏览器中进行任何设置吗?并且链接将在错误之后出现
问题内容: socket.io中有一种方法可以在断开连接的事件中创建超时,然后检查用户是否已重新连接? 这个想法是仅在超时后未重新连接用户时才发出数据/将用户状态保存在数据库中 编辑 :@Are Wojciechowski回答之后,我已经完成了多个标签页和F5洪水处理程序 https://gist.github.com/foohey/7696811 问题答案: 有一个。所以你可以做 我明白了 因此