将参数发送到URL中
将参数发送到URL中
有人能解释一下如何使用参数进行路由到一个URL吗?
例如,我想点击一个产品,并通过产品的ID打开更多的信息。
到目前为止,我的路由如下...
angular.module('shop', ["customFilters", "cart", "ngRoute"]) .config(function ($routeProvider){ $routeProvider.when("/complete", { templateUrl: "../app/views/orderComplete.html" }); $routeProvider.when("/placeorder", { templateUrl: "../app/views/placeOrder.html" }); $routeProvider.when("/checkout", { templateUrl: "../app/views/checkoutSummary.html" }); $routeProvider.when("/products", { templateUrl: "../app/views/productList.html" }); $routeProvider.when("/product:", { templateUrl: "../app/views/product.html" }); $routeProvider.otherwise({ templateUrl: "../app/views/productList.html" }); });
因此,通过点击...
更多信息
我想要路由到product/{{id}}.html ...
有人能告诉我在...
$routeProvider.when("/product:id", { templateUrl: "../app/views/product.html" });
中我漏掉了什么吗?
问题:如何在ui-router中使用ui-sref将参数传递给控制器?
原因:这个问题的原因是用户想要在ui-router中使用ui-sref来传递参数给控制器。他在stackoverflow上找到了一个类似的问题,并在那里找到了解决方法。
解决方法:用户可以通过在状态名称后面添加参数来将参数发送到状态。例如:home({foo: 'fooVal1', bar: 'barVal1'})。然后,在URL中添加参数的模板,如'/:foo?bar'。用户可以按照以下示例进行操作:
$stateProvider .state('home', { url: '/:foo?bar', views: { '': { templateUrl: 'tpl.home.html', controller: 'MainRootCtrl' }, ... }
然后,通过以下方式发送值: