Javascript 无法在AngularJS中以HTML5模式切换视图
我正在玩弄HTML5链接。不知何故,我无法使它工作:视图未解析为URL。此外,我不清楚是否需要在视图名称前加“/”。如果我这样做,浏览器URL链接将显示“file:///addStudent“没有任何基,另一方面,如果没有基,我会看到带有基的URL。应该是这样吗?在任何情况下,我都会看到错误消息:“未找到此网页”。我做错了什么?谢谢 testAngularJS.htmJavascript 无法在AngularJS中以HTML5模式切换视图,javascript,angularjs,html,Javascript,Angularjs,Html,我正在玩弄HTML5链接。不知何故,我无法使它工作:视图未解析为URL。此外,我不清楚是否需要在视图名称前加“/”。如果我这样做,浏览器URL链接将显示“file:///addStudent“没有任何基,另一方面,如果没有基,我会看到带有基的URL。应该是这样吗?在任何情况下,我都会看到错误消息:“未找到此网页”。我做错了什么?谢谢 testAngularJS.htm <html> <head> <title>Angular JS Views</t
<html>
<head>
<title>Angular JS Views</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.min.js"></script>
<base href="file:///home/myusername/projects/parser_ui/">
</head>
<body>
<h2>AngularJS Sample Application</h2>
<div ng-app="mainApp">
<p><a href="addStudent">Add Student</a></p>
<p><a href="viewStudents">View Students</a></p>
<div ng-view></div>
<script type="text/ng-template" id="addStudent.htm">
<h2> Add Student </h2>
{{message}}
</script>
<script type="text/ng-template" id="viewStudents.htm">
<h2> View Students </h2>
{{message}}
</script>
</div>
<script>
var mainApp = angular.module("mainApp", ['ngRoute']);
mainApp.config["$locationProvider", "$routeProvider", function($routeProvider, $locationProvider) {
// use the HTML5 History API
$locationProvider.html5Mode(true);
$routeProvider.
when('/addStudent', {
templateUrl: 'addStudent.htm',
controller: 'AddStudentController'
}).
when('/viewStudents', {
templateUrl: 'viewStudents.htm',
controller: 'ViewStudentsController'
}).
otherwise({
redirectTo: 'addStudent'
});
}];
mainApp.controller('AddStudentController', function($scope) {
$scope.message = "This page will be used to display add student form";
});
mainApp.controller('ViewStudentsController', function($scope) {
$scope.message = "This page will be used to display all the students";
});
</script>
</body>
</html>
角度JS视图
AngularJS示例应用程序
添加学生
{{message}}
查看学生
{{message}}
var mainApp=angular.module(“mainApp”,['ngRoute']);
mainApp.config[“$locationProvider”,“$routeProvider”,函数($routeProvider,$locationProvider){
//使用HTML5历史API
$locationProvider.html5Mode(true);
$routeProvider。
当(“/addStudent”{
templateUrl:'addStudent.htm',
控制器:“AddStudentController”
}).
当(“/viewStudents”{
templateUrl:'viewStudents.htm',
控制器:“ViewStudentsController”
}).
否则({
重定向至:“addStudent”
});
}];
mainApp.controller('AddStudentController',函数($scope){
$scope.message=“此页面将用于显示添加学生表单”;
});
mainApp.controller('ViewStudentsController',函数($scope){
$scope.message=“此页面将用于显示所有学生”;
});
在以下位置运行,但不在本地运行:
角度JS视图
AngularJS示例应用程序
添加学生
{{message}}
查看学生
{{message}}
var mainApp=angular.module(“mainApp”,['ngRoute']);
mainApp.config([“$locationProvider”,“$routeProvider”,函数($locationProvider,$routeProvider){
//使用HTML5历史API
$locationProvider.html5Mode(true);
$routeProvider。
当(“/addStudent”{
templateUrl:'addStudent.htm',
控制器:“AddStudentController”
}).
当(“/viewStudents”{
templateUrl:'viewStudents.htm',
控制器:“ViewStudentsController”
}).
否则({
重定向到:'/addStudent'
});
}]);
mainApp.controller('AddStudentController',函数($scope){
$scope.message=“此页面将用于显示添加学生表单”;
});
mainApp.controller('ViewStudentsController',函数($scope){
$scope.message=“此页面将用于显示所有学生”;
});
在以下位置运行,但不在本地运行:
角度JS视图
AngularJS示例应用程序
添加学生
{{message}}
查看学生
{{message}}
var mainApp=angular.module(“mainApp”,['ngRoute']);
mainApp.config([“$locationProvider”,“$routeProvider”,函数($locationProvider,$routeProvider){
//使用HTML5历史API
$locationProvider.html5Mode(true);
$routeProvider。
当(“/addStudent”{
templateUrl:'addStudent.htm',
控制器:“AddStudentController”
}).
当(“/viewStudents”{
templateUrl:'viewStudents.htm',
控制器:“ViewStudentsController”
}).
否则({
重定向到:'/addStudent'
});
}]);
mainApp.controller('AddStudentController',函数($scope){
$scope.message=“此页面将用于显示添加学生表单”;
});
mainApp.controller('ViewStudentsController',函数($scope){
$scope.message=“此页面将用于显示所有学生”;
});
好的,我最终成功了。这就是
需要做什么:
mainApp.config["$locationProvider", "$routeProvider", function($routeProvider, $locationProvider) {
mainApp.config(["$locationProvider", "$routeProvider", function($routeProvider, $locationProvider) {
app.use('/*', function(req, res){
res.sendFile(path.resolve(__dirname + '/public/angular/views/index.html'));
});
话虽如此,当我把上面的评论说出来时,它仍然运行良好,我不知道为什么。好的,我最终能够使它运行。这就是 需要做什么:
mainApp.config["$locationProvider", "$routeProvider", function($routeProvider, $locationProvider) {
mainApp.config(["$locationProvider", "$routeProvider", function($routeProvider, $locationProvider) {