我在IIS上托管了一个应用。应用网址是
http://localhost/tool
当我通过输入此网址加载页面时,网址路径将更改为
http://localhost/tool#/tool
$routeProvider
配置中没有任何内容。
我想处理一个URL请求,如
http://localhost/tool#/request/:param1/:param2
或者如果可能的话
http://localhost/tool#/request?param1=Value&?param2=value
如何编写$routeProvider
配置?
此外,在我的情况下,用户需要一个直接网址来获取网页的状态,因此用户可能无法从http://localhost/tool
开始,但可以从http://localhost/tool#/request/:param1/:param2
开始。
请帮忙。
答案 0 :(得分:0)
我认为有可能有像localhost / tool#/ request这样的URL吗?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
答案 1 :(得分:0)
E.H。适合路由设置。如果你想将路由参数传递给控制器,你可以这样做(从他链接的教程):
function PhoneDetailCtrl($scope, $routeParams) {
$scope.phoneId = $routeParams.phoneId;
}
如果你想跟踪"状态"在根据传入的内容管理其他数据时,您必须自己完成。我已经通过使用服务并将其注入控制器(如果您需要从多个位置访问它)来完成此操作。