Вы код имеет несколько проблем:
Вы первый нг-щелчок не имеет закрывающую кавычку.
<a ng-click="packageType = '1'>Package 1</a>
Вы устанавливаете packageType в строку, когда это число позже:
packageType ='2'
$scope.packages = { "name": "some name",
"packageID": 1}
Вам не нужно {{}} в нг-шоу
ng-show="packageType >={{item.packageID}}"
Я думаю, вы хотели бы, чтобы пакеты представляли собой массив вместо объекта:
$scope.packages = { "name": "some name",
"packageID": 1}
Пример того, как это сделать, приведен ниже. Я поставил его, чтобы показать на вторые и третьи ссылках:
(function() {
'use strict';
angular
.module('exampleApp', [])
.controller('ExampleController', ExampleController);
function ExampleController($scope) {
var vm = this;
$scope.packageType = 1;
$scope.packages = [{
"name": "some name1",
"packageID": 2
}, {
"name": "some name2",
"packageID": 2
}, {
"name": "some name3",
"packageID": 2
}, {
"name": "some name4",
"packageID": 3
}, {
"name": "some name5",
"packageID": 3
}, {
"name": "some nam6",
"packageID": 3
}];
}
ExampleController.$inject = ['$scope'];
})();
<!DOCTYPE html>
<html ng-app='exampleApp'>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.min.js"></script>
</head>
<body ng-controller="ExampleController">
<a ng-click="packageType = 1">Package 1</a>
<a ng-click="packageType = 2">Package 2</a>
<a ng-click="packageType = 3">Package 3</a>
<p ng-repeat="item in packages" ng-show="packageType >= item.packageID">{{item.name}}
</p>
</body>
</html>
спасибо, но это многоуровневые пакеты. Если packageID = 1, то мне нужно показать это для 1,2 3 и 4, следовательно,> =. –