AngularJS 路由未按预期工作
AngularJS Routing Not Working As Expected
我是 AngularJS 的新手,此时非常迷茫。我正在尝试从这段代码中学习:
http://plnkr.co/edit/dd8Nk9PDFotCQu4yrnDg?p=preview
script.js:
// create the module and name it scotchApp
var scotchApp = angular.module('scotchApp', ['ngRoute']);
// configure our routes
scotchApp.config(function($routeProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'pages/home.html',
controller : 'mainController'
})
// route for the about page
.when('/about', {
templateUrl : 'pages/about.html',
controller : 'aboutController'
})
// route for the contact page
.when('/contact', {
templateUrl : 'pages/contact.html',
controller : 'contactController'
});
});
// create the controller and inject Angular's $scope
scotchApp.controller('mainController', function($scope) {
// create a message to display in our view
$scope.message = 'Everyone come and see how good I look!';
});
scotchApp.controller('aboutController', function($scope) {
$scope.message = 'Look! I am an about page.';
});
scotchApp.controller('contactController', function($scope) {
$scope.message = 'Contact us! JK. This is just a demo.';
});
我的 index.html 文件包括
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>
我在本地环境中设置了它。我可以加载主页,但路由仅更改 URL,没有其他更改。知道是什么原因造成的吗?
当您说仅调用 Url 并且未呈现页面时,ngroute 工作正常。您需要确保的一件事是所有 html 文件都位于 pages
目录下。
index.html 页面内也应该有 <ng-view>
标签
最好的例子就是你所指的 plunker。
我找到了解决问题的办法。我不得不添加
app.use(express.static(__dirname ));
到我的节点服务器脚本。不过,我不明白为什么需要这样做。
我是 AngularJS 的新手,此时非常迷茫。我正在尝试从这段代码中学习: http://plnkr.co/edit/dd8Nk9PDFotCQu4yrnDg?p=preview
script.js:
// create the module and name it scotchApp
var scotchApp = angular.module('scotchApp', ['ngRoute']);
// configure our routes
scotchApp.config(function($routeProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'pages/home.html',
controller : 'mainController'
})
// route for the about page
.when('/about', {
templateUrl : 'pages/about.html',
controller : 'aboutController'
})
// route for the contact page
.when('/contact', {
templateUrl : 'pages/contact.html',
controller : 'contactController'
});
});
// create the controller and inject Angular's $scope
scotchApp.controller('mainController', function($scope) {
// create a message to display in our view
$scope.message = 'Everyone come and see how good I look!';
});
scotchApp.controller('aboutController', function($scope) {
$scope.message = 'Look! I am an about page.';
});
scotchApp.controller('contactController', function($scope) {
$scope.message = 'Contact us! JK. This is just a demo.';
});
我的 index.html 文件包括
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>
我在本地环境中设置了它。我可以加载主页,但路由仅更改 URL,没有其他更改。知道是什么原因造成的吗?
当您说仅调用 Url 并且未呈现页面时,ngroute 工作正常。您需要确保的一件事是所有 html 文件都位于 pages
目录下。
index.html 页面内也应该有 <ng-view>
标签
最好的例子就是你所指的 plunker。
我找到了解决问题的办法。我不得不添加
app.use(express.static(__dirname ));
到我的节点服务器脚本。不过,我不明白为什么需要这样做。