0

我有一个托管在 IIS 上的应用程序。应用程序网址是 http://localhost/tool

当我通过输入此 url 加载页面时,url 路径更改为

http://localhost/tool#/tool

$routeProvider我在配置中没有任何内容。我想处理一个 URL 请求,例如,

http://localhost/tool#/request/:param1/:param2或者如果可能的话 http://localhost/tool#/request?param1=Value&?param2=value

如何编写$routeProvider配置?

在我的情况下,用户需要一个直接 URL 来获取页面的状态,因此用户可能不会http://localhost/toolhttp://localhost/tool#/request/:param1/:param2.

请帮忙。

4

2 回答 2

0

我确实认为有可能有一个像 localhost/tool#/request?param1=Value&?param2=value 但是的网址:

angular.module('myApp').
    config(
        ['$routeProvider', function($routeProvider){
                $routeProvider.
                    when('/tool', {templateUrl: './view/partial/tool_list.html', controller: ToolListCtrl}).
                    when('/tool/:param1/:param2', {templateUrl: './view/partial/tool_details.html', controller: ToolDetailCtrl}).

                    otherwise({redirectTo: '/tool'}); //here you can redirect to whatYouWantUrl
        }
        ]);

你会在这里找到你需要的所有信息:http: //docs.angularjs.org/tutorial/step_07

于 2013-08-23T15:28:59.117 回答
0

EH 是正确的路由设置。如果您想将路由参数传递给您的控制器,您可以这样做(来自他链接的教程):

function PhoneDetailCtrl($scope, $routeParams) {
  $scope.phoneId = $routeParams.phoneId;
}

如果您想跟踪“状态”,就像根据传入的内容管理其他数据一样,您必须自己做。如果您需要从多个地方访问它,我已经通过使用服务并将其注入控制器来完成此操作。

于 2013-08-23T17:19:02.587 回答