角度类别排序不按类别名称

时间:2015-12-13 18:08:19

标签: javascript angularjs

我正在尝试在Angular js中实现类别排序,但它无法正常工作。它也从描述中提取数据。我想将它限制为类别名称,但没有运气。

JS代码:

var myApp = angular.module('myApp', []);

myApp.factory('Items', ['$http', function($http){
  return {
    get: function(callback){
      $http.get('items.json').success(function(data){
        callback(data);
      })
    }
  }
}]);

myApp.factory('Categories', ['$http', function($http){
  return {
    get: function(callback){
      $http.get('categories.json').success(function(data){
        callback(data);
      })
    }
  }
}]);

// Config and Routes 
myApp.config(function($routeProvider){
  $routeProvider
        .when('/', {
                templateUrl:"home.html"
        })
        .when('/item/:id', {
                templateUrl:"item.html"
        })
})

myApp.controller('headerController', function($scope, $location) {
  $scope.goHome = function () {
    $location.path('/');
  };
})



function Ctrl($scope) {
  $scope.greeting = 'hello';
}

// Controllers
myApp.controller('ItemController', function($scope, $route, $location, $http, Items){

  Items.get(function(response){
    $scope.items = response;
  });

  // Update this value dynamically - onclick
  $scope.filters = "food";

  $scope.viewDetail = function(item) {
        $location.path('/item/' + item.id);
    }

})  


myApp.controller('ListController', function($scope, $route, $location, $http, Categories){

  $scope.sendCategory = function(category) {
    // How can I pass this value to ItemController?
     $scope.search =category.name;
  };

   $scope.orderProp='date';

    $scope.tab = function (tabIndex) {
     //Sort by date
      if (tabIndex == 1){
        //alert(tabIndex);
        $scope.orderProp='date';

      }   
      //Sort by views 
      if (tabIndex == 2){
        $scope.orderProp = 'views';
      }

   };

   $scope.sort = function(item) {
       if (  $scope.orderProp == 'date') {
            return new Date(item.date);
        }
        return item[$scope.orderProp];
   }

})  


myApp.controller('CategoryController', function($scope, $route, $location, $http, Categories){

  Categories.get(function(response){
    $scope.categories = response;
  });


})  

myApp.controller("tabsController", function ($scope) {

   $scope.orderProp = 'date';

})

myApp.controller('ItemDetailController', function($scope, $route, $location, $http, Items){
    Items.get(function(response){
    $scope.items = response; 

    if ($route.current.params.id) {
      angular.forEach($scope.items, function (v, k) {
        if (v.id == $route.current.params.id) {
          $scope.currItem = $scope.items[k];
          return false;
        }
      });
    }
  });
})

任何人都可以帮忙找到我只能根据我的类别名称对数据进行排序的方式,而不是在整个页面上搜索数据吗?

分享我找到的参考网址。

http://plnkr.co/edit/rh3wGYhuoHSHJEa4PoQi?p=preview

如果任何人可以帮助我,那将是很有帮助的。

0 个答案:

没有答案