【问题标题】:Angular Calendar - click event not workingAngular Calendar - 点击事件不起作用
【发布时间】:2014-11-07 13:48:29
【问题描述】:

我按照角历在

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()">
                        &lsaquo;
                    </div>
                    <div class="month">
                        {{month}} {{year}}
                    </div>
                    <div class="clndr-next-button" ng-click="clndr.forward()">
                        &rsaquo;
                    </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。

谢谢。

【问题讨论】:

  • 你能贴出你正在使用的代码吗?

标签: angularjs angularjs-directive calendar


【解决方案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="myapp" 的地方放:

ng-controller="calendarController";

【讨论】:

  • 我已经在我的项目中包含了所有这些。我仍然没有看到控制器方法处理的点击事件。
猜你喜欢
  • 1970-01-01
  • 2017-08-14
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
  • 2016-05-13
  • 2018-06-15
相关资源
最近更新 更多