我有一个返回诊所列表,另一个是onclcik取诊所ID并调用api并在手风琴列表中显示该特定id的数据。
但是通过使用ng-show,我无法显示数据。
这是我的代码:
Html代码:
<ion-list id = "background">
<div id = "background" >
<ion-item class="item-stable item item-avatar" ng-click = "select(list.ClinicId);" ng-repeat="list in searchlist">
<img ng-src = "img/1.png"/>
<!-- -->
{{list.Name}}
<p> Address: {{list.Address.Address1}}, {{list.Address.Address2}}, {{list.Address.Postcode}}, {{list.Address.State}}, {{list.Address.Suburb}}</p>
</ion-item >
<ion-item class="item-accordion" ng-show="isSelected();" ng-repeat="available in appointments" >
{{available.Appointments.Name}} {{available.Appointments.Speciality}}
</ion-item>
</div>
</ion-list>
JavaScript代码:
$scope.select = function(item) {
api.AvailableAppointments(item)
.success(function(data) {
$scope.availableappointments = data;
console.log(data);
window.sessionStorage['availableappointments'] = angular.toJson(data);
var appointments = window.sessionStorage['availableappointments'];
})
.error(function(data) {
console.log(data);
});
};
$scope.isSelected = function() {
var appointments = window.sessionStorage['availableappointments'];
$scope.appointments = angular.fromJson(accessData);
console.log($scope.appointments);
};
请告诉我出错的地方......
答案 0 :(得分:0)
如果有一个plunker文档加入你的问题会很棒,但我可能知道为什么它不起作用。
您的isSelected()
函数不会返回任何可能不会更改的原因。
尝试添加$ index作为函数的参数,并将其与活动的clinicID(已点击的那个)进行比较,然后返回答案。
<强> html的强>
<ion-item class="item-accordion" ng-show="isSelected($index);" ng-repeat="available in appointments" >
{{available.Appointments.Name}} {{available.Appointments.Speciality}}
</ion-item>
<强>的.js 强>
$scope.isSelected = function(itemIndex) {
var appointments = window.sessionStorage['availableappointments'];
$scope.appointments = angular.fromJson(accessData);
console.log($scope.appointments);
return (itemIndex == itemSelectionnedIndex);
};
如果ng-show
尝试使用ng-if
修改: 我尝试根据你给我的例子调整你的代码: http://codepen.io/anon/pen/wdjAn
您只需调整代码,以便在第二次单击时隐藏第二个手风琴。 但它应该工作...... 你的主要问题(从我在你的代码中看到的)是你被选中没有返回任何东西,你的约会变量不是一个列表。
希望它能解决你的问题。