首页 文章

如何在angularjs,ui-router和$ stateParams中使用url参数

提问于
浏览
2

我已按照https://github.com/angular-ui/ui-router/wiki/URL-Routing的说明进行操作,但无法使其正常工作 .

我有以下内容:

var application = angular.module('application', ['ui.router']);

application.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise("/test");

$stateProvider
    .state('index', {
        url: "/test/:param",
        templateUrl: "App/Test.html", 
        controller: function ($scope, $stateParams) {
            alert($stateParams.param);
        }
    });   

$locationProvider.html5Mode(true);
});

没有/:param这可以正常工作 - 即ui-view正确填充了Test.html . 但是,每当我把/:param放入时我都会收到错误 . 错误是:

GET http://localhost:3880/test/App/Test.html 404 (Not Found)

应用程序是我的角度的东西的路线,Test.html应该有一个路径

http://localhost:3880/App/Test.html

如果没有尝试/:param,它会这样做 . 但是,在尝试/:param时,您可以看到/ App之前的路径中有一个额外的/ test / .

请有人帮忙,因为我想在控制器中使用参数一旦正确 .

2 回答

  • 0

    此路由的URL应如下所示: http://localhost:3880/test/app 其中app是param .

  • 0

    使用templateUrl的绝对路径 . 相对网址不会工作 .

    templateUrl: "/path/to/App/Test.html",
    

相关问题