Angular js - "TypeError: v12.months is not a function"
Angular js - "TypeError: v12.months is not a function"
这个问题正在进行中/与我的有关。
我有一个用于两个视图的控制器 (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}} 时,我收到错误 "TypeError: v12.months is not a function" .
不知道错误是什么意思,请指教。谢谢。
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。
这个问题正在进行中/与我的
我有一个用于两个视图的控制器 (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}} 时,我收到错误 "TypeError: v12.months is not a function" .
不知道错误是什么意思,请指教。谢谢。
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。