AngularJs - 获取函数的 return 值

AngularJs - Get return value of a function

我在 Angular 项目中使用 FullCalendar 插件,并试图在插件的 select 方法上提醒一个值。

//Directive
app.directive('calendar', function(){
        return {
            restrict: 'A',
            scope: {
                select: '&'
            },
            link: function(scope, element, attrs) {
                element.fullCalendar({
                    selectable: true,

                    select: function(start, end, allDay) {
                        scope.select(start, end);

                        //alert(start);
                    }
                });
            }
        }
    }) 

app.controller('calendarCtrl', function() {
  this.onSelect = function(arg, arg2) {
    alert(arg + '' + arg2)
  }
});

HTML

<body ng-controller="calendarCtrl as clctrl">
    <div calendar select="clctrl.onSelect()"></div>
</body>

正如您在上面的指令中看到的那样,在 select 一天,我正在传递 onSelect() 函数,该函数具有来自控制器的警报。我试图提醒前 2 个 return 值(开始和结束),但我得到未定义的值。

我的代码有什么问题?如果你能更新 plunker,我将不胜感激。

http://plnkr.co/edit/utxrmH8mYzo5jq9shcej?p=preview

var app = angular.module('app', []);

//Controller
app.controller('calendarCtrl', function() {

  this.onSelect = function(arg, arg2) {

    alert(arg + ' ' + arg2)

  }

});

//Directive
app.directive('calendar', function(){
        return {
            restrict: 'A',
            scope: {
                select: '&'
            },
            link: function(scope, element, attrs) {

                //Generate the Calendar
                element.fullCalendar({

                    selectable: true,

                    //On Day Select
                    select: function(start, end, allDay) {
                        scope.select({start: start, end: end});

                        //alert(start);
                    }
                });
            }
        }
    })


<div calendar select="clctrl.onSelect(start, end)"></div>

已更新plunker