angularjs和vuejs的路由用#识别路径
在Angular中这是我的路由:phonecatApp.config(['$routeProvider',function($routeProvider) {$routeProvider.when('/phones', {templateUrl: 'partials/phone-list.html',controller:
·
在Angular中
这是我的路由:
phonecatApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/phones', {
templateUrl: 'partials/phone-list.html',
controller: 'PhoneListCtrl'
}).
when('/phones/:phoneId', {
templateUrl: 'partials/phone-detail.html',
controller: 'PhoneDetailCtrl'
}).
otherwise({
redirectTo: '/phones'
});
}]);
这是我的html
代码:
<a href="#/phones/{{phone.id}}">{{phone.name}}</a>
href
属性的开头是个#
号,当带着这个#
号的时候,路由是正常工作的。如果去掉#
号,路由就找不到路径了:
Not found
同样的事情还发生在vuejs里
当我使用vuejs
和vue-router
的时候,这是我的路由:
var router = new VueRouter();
router.map({
"/": {
component: phoneList
},
"/phones": {
component: phoneList
},
"/phones/:phoneId": {
component: {
template: 'TBD: detail view for <span>{{$route.params.phoneId}}</span>',
}
}
});
router.start(app, "#app");
这是html
:
<a href="#/phones/{{phone.id}}">{{phone.name}}</a>
同样的,带着#
号路由正常工作,去掉就:
Cannot GET /phones/motorola-xoom-with-wi-fi
为什么会这样?这个#
号到底有什么作用?
为什么http://localhost:8000/phones/motorola-xoom
就不能识别,http://localhost:8000/app/index.html#/phones/motorola-xoom
就能识别出来?
更多推荐
已为社区贡献8条内容
所有评论(0)