在AngularJS中为所有静态页面创建路径的最佳方法是什么

时间:2015-11-19 19:00:58

标签: angularjs angular-ui-router ngroute

我开始有棱有角 我在为我的小项目创建路线时遇到问题

我将菜单页面的名称设为json

" home''服务' '接触'等

我有一个准备好的模板来正确显示菜单

但我想为所有页面创建路线

看起来像这样:

localhost / website / services

我希望我的路由在localhost / website /之后得到一个单词并返回模板并向服务器发送一个请求,其中包含页面名称以获取json内容

换句话说,我想创建一个他知道的路径,只获取url中的第一个参数

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以定义$states

myApp
    .config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider
        .otherwise('/');

    $stateProvider
        .state('myState', {
            url: '/:requestedService'
        });

现在,定义一个控制器:

myApp.controller('MyController', function($scope, $http) {

    // Whenever state change like: "http://localhost/home", "http://localhost/contact"
    $scope.$on('$stateChangeStart', function(event, toState, toParams) {
        if (toState.name == "myState") {
            $http({
                url: "/my-url",
                data: {serviceName: toParams.requestedService}
            }).then(function(data) {
                // your json data in "data"
            });
        }
    });
});