【发布时间】:2016-04-23 10:43:11
【问题描述】:
编辑:解决了这个问题,似乎 Angular 使用的“#”字符导致了这个问题。这是正确的。
在 WiRo 回答后编辑
(我的 http-server 使用 grunt)
app.js
require('angular/angular.min');
require('./angular-material.min')
require('angular-route/angular-route.min');
var listController = require('./controllers/listcontroller.js');
var authController = require('./controllers/authcontroller.js');
// Create your app
var app = angular.module("advjavascript", ["ngRoute"]);
app.controller('ListController', listController);
app.controller('AuthController', authController);
app.config([
'$routeProvider',
function($routeProvider) {
$routeProvider
.when('/auth', {
templateUrl: 'pages/auth.html',
controller: 'AuthController',
controllerAs: 'auth'
})
.when('/', {
templateUrl: 'pages/home.html',
controller: 'ListController',
controllerAs: 'list'
})
.otherwise({
redirectTo: '/',
controller: 'listController',
controllerAs: 'list'
});
}
]);
authcontroller.js
module.exports = function($scope, $routeParams){
var vm = this;
alert("this");
vm.username = $routeParams.username;
vm.token = $routeParams.token;
console.log("This token: " + vm.token);
vm.data = {
token: vm.token,
username: vm.username
};
};
listcontroller.js
module.exports = function($scope, $routeParams){
var vm = this;
vm.data = {
username: ""
};
console.log(vm.data.username);
};
pages/auth.html
<h1>Logged in!</h1>
<p>Your username is {{auth.data.username}}</p>
<a href="http://localhost:3000/">Back to page</a>
pages/home.html
<h1>Hello World</h1>
<p>Your username is {{list.data.username}}</p>
<a href="http://mahjongmayhem.herokuapp.com/auth/avans?callbackUrl=http://localhost:3000/%23/auth">log in</a>
index.html
<html lang="en" ng-app="advjavascript">
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" href="css/main.css"/>
<link rel="stylesheet" href="css/angular-material.min.css"/>
<title>AdvJavascript</title>
</head>
<body>
<div ng-view></div>
<script src="js/app.js"></script>
</body>
</html>
我有一个回拨到http://localhost:3000/auth?username=secret&token=secret
它不路由到 auth.html,哎呀它甚至不路由到 index.html(默认页面)
有人知道怎么回事吗?
结果如下:
【问题讨论】:
标签: angularjs gruntjs ngroute route-provider