有人可以解释我如何使用参数路由到Url吗?
例如,id喜欢点击产品并按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"
});
});
Run Code Online (Sandbox Code Playgroud)
所以点击......
<a class="btn btn-default" href="#/product/{{item.id}}">More Info</a>
Run Code Online (Sandbox Code Playgroud)
我希望路由到产品/ {{id}}.html ...
有人可以告诉我在...中缺少什么
$routeProvider.when("/product:id", {
templateUrl: "../app/views/product.html"
});
Run Code Online (Sandbox Code Playgroud) 我认为我的代码中有语法错误,但是我不确定。基本上,当我在服务上调用函数时,它返回代码而不是函数的返回值。
这是服务...
(function (){
'use strict';
var products = function($http){
var getProducts = function () {
return $http.get(getDataUrl)
.then(function (response) {
return response.data;
});
};
//Make functions public
return {
getProducts: getProducts
};
};
var module = angular.module("shop");
module.factory("products", products);
module.constant("getDataUrl", "xxx")
}());
Run Code Online (Sandbox Code Playgroud)
这是控制器,而不是调用产品服务的控制器。
(function () {
'use strict';
angular
.module("shop")
.controller("ProductController", ProductController);
function ProductController($scope, cart, $routeParams, products) {
// $scope.product = products.getProducts;
// console.log($scope.product);
var productId = getProductIdFromUrl();
console.log("productId: " + productId);
console.log("products: " + products.getProducts);
function getProductIdFromUrl(){
return …Run Code Online (Sandbox Code Playgroud)