2016-03-16 54 views
0

我正在为网站准备移动页面。当客人打开一个链接时,如果他/她的设备是移动的,php会将他/她重定向到具有相同URL的移动页面。在AngularJS中不使用斜线路由

有一些问题。这些网址喜欢这些sitename.com/product-name-334sitename.com/category_name_c。他们检测到页面感谢_c和产品ID。但我不知道如何通过角度提供它?

我想听你的建议。

回答

0

你应该尝试ui-Router的$ stateProvider。

StateProvider API Reference

  1. 首先,你需要引用UI的路由器在您的索引文件。
  2. 然后,您可以使用data-ui-sref属性为超链接指定一个状态。

     <li> 
         <a data-ui-sref="product"> 
    
         </a> 
        </li> 
    
    </ul>` 
    
  3. 然后你需要为状态分配一个url,一个模板和一个控制器。

    angular.module('sspRouting', ['ui.router']) 
    .config(['$stateProvider', '$urlRouterProvider', 
         function ($stateProvider, $urlRouterProvider) { 
          $urlRouterProvider.otherwise('/'); 
    
          $stateProvider 
           .state('product', 
           { 
            url: "/productDetail/{productId}", 
            templateUrl: 'app/view/productTemplate.html', 
            controller: 'productController'   
           }) 
         )}]); 
    

然后控制器里面,你可以使用$ routeParams来从URL中的ID,然后建立一个使用该特定产品的数据的HTML。

 .controller('productController', function($scope, $http, $routeParams, productService) { 
      var productId = $routeParams.productId; 
      // your code here. 
//example $scope.productDetail = productService.getProductDetail(productId); 
    }); 
+0

感谢您的建议,但还有另一个问题。我无法为每个产品定义一个页面。有大约700个产品,我必须设置这些网址dinami –

+0

我编辑帖子。我认为这更适合你的需求 –