ngRoute 配置路径不能跳转问题
2024-09-06 16:13:19
1.原因:AngularJS 版本更新至1.6后对地址做了特别处理。如:<a hret="#/someurl"> 在浏览器中被解析为“#!%2Fsomeurl”,导致路由无法跳转。
解决办法:如果您希望路由中没有哈希前缀,那么可以通过向应用程序添加配置块来恢复以前的行为如下:stackoverflow中的连接
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
2.ngRoute使用实例(mvc web项目为例子)
一 新建ASP.NET Web应用程序(.NET Framework),进入后选择mvc
二 使用nuget包管理安装angular1.6包,并添加文件夹结构如下
在BundleConfig.cs中添加如下代码
bundles.Add(new ScriptBundle("~/bundles/angular").Include(
"~/Scripts/angular.js",
"~/Scripts/angular-route.js",
"~/Scripts/angular-animate.js"
)); bundles.Add(new ScriptBundle("~/bundles/app").Include(
"~/App_Myapp/js/app.js"
));
在—layout.cshtml中添加如下内容
app.js文件中内容如下:
var app = angular.module('myapp', ['ngRoute', 'ngAnimate']); app.config(['$locationProvider', function ($locationProvider) {
$locationProvider.hashPrefix('');
}]);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/App_Myapp/Index', {
controller: 'HomeController',
templateUrl: '/App_Myapp/views/Index.html'
})
.when('/App_Myapp/Table1', {
controller: 'HomeController',
templateUrl: '/App_Myapp/views/tables/Table1.html'
})
.when('/App_Myapp/Table2', {
controller: 'HomeController',
templateUrl: '/App_Myapp/views/tables/Table2.html'
})
.otherwise({ redirectTo: '/App_Myapp/Index' });
}]); app.controller('HomeController', ['$scope', function ($scope) {
$scope.title = "这是一个AngularJS应用程序";
}]);
点击运行即可
最新文章
- 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息
- 杀毒软件导致YourSQLDba备份失败
- Open quote is expected for attribute ";property"; associated with an element type ";result";.错误
- 关于Eclipse插件开发(五)-----编辑器类方法的使用说明
- EL表达式 入门
- UIWebView禁止点击后跳转
- 原型及原型链,以及prototype和__proto__属性(笔记便于以后复习)
- hdu 2045 递推
- OpenCV实现图像物体轮廓,前景背景,标记,并保存。
- 个人技术博客--团队Git规范(参考西瓜学长)
- php 的Boolean类型
- IOP知识点(2)
- C# EditPlus环境设置
- noip第20课作业
- Vue2.5 开发去哪儿网App
- Java 继承和多态
- PAT 1112 Stucked Keyboard[比较]
- JS中0与‘0’
- WCF用户名密码验证方式
- PTA基础编程题目集7-1厘米换算英尺英寸