你好,这是我第一次在堆叠溢出处问这个问题,所以请原谅你在我的问题中会看到的错误。
我是新来的网页编程和角。我创建了一个处方列表,在处方中有药品清单。
.controller('prescriptionTable',function($scope) {
var Prescription = [
{id:1,secID:1,docID:1,medicine:[
{name:"lozartan",quantity:2},
{name:"biogesic",quantity:3},
{name:"paracetamol",quantity:1},]
},
{id:2,secID:1,docID:1,medicine:[
{name:"Lumiracoxib",quantity:2},
{name:"Cloxacillin",quantity:3},
{name:"Allopurinol",quantity:4}]
},
];
$scope.Prescription = Prescription;
$scope.indexNum =0;然后我使用ng-重复,这样我就可以得到药物清单了。
<div ng-controller="prescriptionTable">
<ul>
<li ng-repeat="px in Prescription">
{{px.id}}
<ul>
<li ng-repeat="med in px.medicine">
Name: {{med.name}} , Quantity: {{med.quantity}}
</li>
</ul>
</li>
</ul>
</div>如何使用$scope.indexNum筛选处方,仅显示某一处方的药物清单?
谢谢,干杯。
发布于 2016-01-26 06:02:27
如果只允许一个索引,则可以将其指定为
$scope.indexNum = 0;在你的html中
<li ng-repeat="px in Prescription track by $index" ng-if="$index == indexNum">或
甚至可以硬编码一个值0。
<li ng-repeat="px in Prescription track by $index" ng-if="$index == 0">或
如果您只想显示一项,则应完全避免使用ng-repeat。
<div ng-controller="prescriptionTable">
<ul>
<li>
{{Prescription[indexNum].id}}
<ul>
<li ng-repeat="med in Prescription[indexNum].medicine">
Name: {{med.name}} , Quantity: {{med.quantity}}
</li>
</ul>
</li>
</ul>
</div>或
您可以将多个索引作为
<div ng-controller="prescriptionTable">
<ul>
<li ng-repeat="px in Prescription track by $index" ng-if="allowedIndexes.indexOf($index) > -1">
{{px.id}}
<ul>
<li ng-repeat="med in px.medicine">
Name: {{med.name}} , Quantity: {{med.quantity}}
</li>
</ul>
</li>
</ul>
</div>在您的js中,您将有一个数组,如
$scope.allowedIndexes = [0,2,5,7,9];或
你可以使用角度滤波器
<div ng-controller="prescriptionTable">
<ul>
<li ng-repeat="px in Prescription|filter:{id:indexNum}">
{{px.id}}
<ul>
<li ng-repeat="med in px.medicine">
Name: {{med.name}} , Quantity: {{med.quantity}}
</li>
</ul>
</li>
</ul>
</div>这将过滤包含id值为indexNum的所有对象,也就是说,如果indexNum为1,则会出现id等于1、10、11、12、21的对象.已显示。
https://stackoverflow.com/questions/35007827
复制相似问题