我在MEAN堆栈中工作。对于我的前端,我正在尝试使用angular从我的项目列表中呈现单个项目的数据。当我点击该项目时,URL会更改为我设置的以外的其他内容,但我无法获取数据。我只能在使用调试模式后看到这个。预期的链接是/item/:itemid
,但我得到/item/partials/item.html
我使用了以下文件:
main.route.js (仅显示有问题的路线)
function config($routeProvider, $locationProvider) {
$routeProvider
.when('/item/:itemid', {
templateUrl: 'partials/item.html',
controller: 'productCtrl',
controllerAs: 'vm'
})
.otherwise({redirectTo: '/'});
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
};
myData.service.js
angular
.module('myApp')
.service('myData', myData);
function myData ($http) {
var itemById = function (itemid) {
return $http.get('/api/items/' + itemid);
};
return {
itemById : itemById
};
}
product.controller.js
angular
.module('myApp')
.controller('productCtrl', productCtrl)
function productCtrl($routeParams, myData) {
var vm = this;
vm.itemid = $routeParams.itemid;
myData.itemById(vm.itemid)
.success(function(data) {
vm.data = { item : data };
vm.pageHeader = {
title: vm.data.item.name
};
})
.error(function (e) {
console.log(e);
});
};
items.html (链接到单个商品页面)
<a href='/#/item/{{ item._id }}'>{{ item.name }}</a>
item.html
<div ng-controller='productCtrl'>
<div class='container'>
<page-header content='vm.pageHeader.title'></page-header>
</div>
</div>
请原谅我,如果这个问题没有多大意义,因为我对此不熟悉。提前谢谢!
答案 0 :(得分:0)
删除此锚点下方的斜杠:
<a href='#/item/{{ item._id }}'>{{ item.name }}</a>
&#13;