此问题正在进行/与我的first original post相关。
我有两个视图的控制器(dailyMeetingTimesCtrl):
.controller('dailyMeetingTimesCtrl', function($scope, MeetingNames,$ionicLoading, $firebase, $firebaseArray) {
$scope.getMonthId = function (monthId) {
alert("you selected: " + monthId);
$scope.myChoice = monthId;
console.log(myChoice);
}
})
我可以console.log
myChoice
变量的值,但在视图中将其用作<ion-item ng-repeat="time in times.months(myChoice).days" class="item-text-wrap">
或{{myChoice}}时,我会收到错误&#34; TypeError:v12 .months不是函数&#34;。
我不确定错误是什么意思,请指教。谢谢。
答案 0 :(得分:0)
myChoice
无效的原因是因为这不是访问数组元素的正确方法。
而不是这样做:
<ion-item ng-repeat="time in times.months(myChoice).days" class="item-text-wrap">
你应该改为
<ion-item ng-repeat="time in times.months[myChoice].days" class="item-text-wrap">
Working Demo for your approach
您实际上可以传递所选的月份,而不仅仅是数组,您不再需要times.months[1].days
。
您可以传递所选月份,而不是传递当月的 ID 。
<ion-list ng-repeat="month in times.months track by $index" ng-click="getMonth(month, $index)">
<ion-item href="#/dmtimes">{{ month.monthId }} - {{ month.MonthName }
</ion-item>
</ion-list>
Controller.js
$scope.getMonth = function (month, monthId) {
alert("you selected: " + monthId);
console.log(month);
$scope.selectedMonth = month;
}
观看2:
<ion-list>
<ion-item ng-repeat="time in selectedMonth.days" class="item-text-wrap">
<span>{{selectedMonth.MonthName}}</span>
Meeting Name: {{ time.meetingName }}<br />
Star Time: {{ time.startTime }}<br />
Finish Time: {{ time.finishTime }}<br />
</ion-item>
</ion-list>
我为方法2方法做了更新 Working Demo。