Angular1.3路由的直接URLS问题-即使html5mode为false
Issue with direct URLS of Angular1.3 routing - even when html5mode is false
如果我在链接中导航,我可以打开相应的视图,但如果我复制粘贴整个url,视图将不会加载&控制台中没有错误。
这是我对主要应用程序模块的配置
.config(['$locationProvider', '$routeProvider', function ($locationProvider, $routeProvider) {
$routeProvider
.when('/welcome', {
templateUrl: 'src/app/welcome/welcome.html'
})
.when('/terminology', {
controller: 'TermsController',
controllerAs: 'vm',
templateUrl: 'src/app/terminology/term-table.html'
})
.when('/', {
redirectTo: '/welcome'
})
.otherwise({
redirectTo: '/welcome'
});
$locationProvider.html5Mode(false);
}]);;
例如:1.如果我点击主页链接,欢迎视图将加载到ng视图中,URL将变为(URL1)"http://localhost:8081/web/#/welcome"
- 如果我点击术语链接,术语视图加载在ng视图&URL变为(URL2)"http://localhost:8081/web/#/terminology"
但是,如果我将整个URL复制粘贴到一个新的选项卡中,则视图将变为空白。控制台中没有错误。我正在使用Angular1.3
添加了:此外,第一次默认视图也没有加载。。。提前感谢
我找到了解决方案。我实际的index.html文件是这样的
<html class="no-js" lang="en" ng-app="app">
<head>
<!-- my css files -->
</head>
<body>
<!-- this shell page contains "ng-view" directive which is causing the whole problem -->
<div ng-include="'src/app/igl-layout/shell.html'"></div>
<!-- my js files -->
</body>
现在我将shell.html的内容替换为上面的ng-include指令(行),然后一切都很好。
有人能告诉我为什么会发生这种事吗如果ng视图在shell页面中,它不会像预期的那样工作,但如果它在index.html页面中,则工作正常。
相关文章:
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 注册OpenLayers事件时,即使使用匿名函数或绑定,JavaScript关闭也会触发循环内的所有内容
- 如何显示文本长度,即使它超过ng最大长度
- if(foo!==null)的计算结果为true,即使foo为null
- hasOwnProperty-即使有属性,也不会显示属性
- 变量dos'即使我可以返回更新后的值,也不会改变
- Javascript Float32数组抛出无法读取属性'0'即使数组定义良好,也为null
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- 文本字段显示它是有效的,即使它在ExtJS中是无效的
- 电子邮件地址验证但创建帐户,即使电子邮件地址无效
- 即使光标位于屏幕边缘,也可以跟踪鼠标速度
- 即使 ng 模型有值,也使输入字段为空
- 即使使用回调函数也无法返回值
- 制作一个按钮倒计时计时器,该计时器将在5分钟后永久禁用,即使在页面刷新时也应保持禁用状态
- 我怎样才能让jQuery即使在尚未创建的对象上也能工作
- 居中的表,即使它比父容器宽
- 即使被信号处理程序中断,node.js代码也会一直运行到完成吗
- Meteor js-控制台显示'未定义'即使返回结果
- Angular1.3路由的直接URLS问题-即使html5mode为false