angularJs中不正确的url链接

时间:2016-10-06 00:43:50

标签: angularjs

我在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>

请原谅我,如果这个问题没有多大意义,因为我对此不熟悉。提前谢谢!

1 个答案:

答案 0 :(得分:0)

删除此锚点下方的斜杠:

&#13;
&#13;
<a href='#/item/{{ item._id }}'>{{ item.name }}</a>
&#13;
&#13;
&#13;