我按照
中的角度日历https://github.com/10KB/angular-clndr
我无法让点击事件发挥作用。我在链接中使用完全相同的代码。
如果我错过了任何设置,请告诉我。
我的代码是
<tien-clndr class="clndr" tien-clndr-object="clndr" tien-clndr-events="events">
<div class="clndr-controls">
<div class="clndr-previous-button" ng-click="clndr.back()">
‹
</div>
<div class="month">
{{month}} {{year}}
</div>
<div class="clndr-next-button" ng-click="clndr.forward()">
›
</div>
</div>
<div class="clndr-grid">
<div class="days-of-the-week">
<div class="header-day" ng-repeat="day in daysOfTheWeek track by $index">
{{day}}
</div>
</div>
<div class="days">
<div class="{{day.classes}}" ng-repeat="day in days">
<div class="event-indicator" ng-show="day.events" ng-click="showEvents(day.events)">{{day.events.length}}</div>
{{day.day}}
</div>
</div>
</div>
</tien-clndr>
控制器
function showEvents(data) {
console.log("Event");
console.log(data);
}
module.js
angular.module( 'MYAPP',[ 'tien.clndr']);
注入模块成功。但我没有看到函数showEvents被调用。
感谢。
答案 0 :(得分:1)
您的控制器不是控制器,您需要在其中注入$ scope并将您的函数绑定到它以使其工作,如下所示:
var calendarController = function($scope){
$scope.showEvents = function(data){
console.log("Event");
console.log(data);
}
}
更新您的模块注册:
var myapp = angular.module('myapp',['tien.clndr']);
注册控制器:
myapp.controller('calendarController', calendarController);
然后在 ng-app =&#34; myapp&#34; 的位置旁边放置:
ng-controller="calendarController";