如何从指令中的其他模块调用方法

时间:2015-02-17 13:24:21

标签: javascript angularjs

我的应用是这样的:

angular.module('app', [
    // other includes
    'ui.bootstrap'
])

在我的指示中我正在努力:

angular.module('app').directive('DateFields','DatepickerController', ['$timeout', 'DatepickerController', function ($timeout, DatepickerControlle) {
return {
    restrict: 'A',
    replace: true,
    templateUrl: 'path to calendar.html',
    scope: {
        element: "=",
        flowParameterMap: "=?"
    },
    controller: ['$scope', '$element', '$timeout', function (scope, element,  $timeout) {
        if (!scope.element)
            return;
        scope.overlayClick = function (e)
        {
            scope.isOpen = true;
            var input = $(e.currentTarget).next();
            $timeout(function () {
                $(input).focus();
                $DatepickerController.isOpen = true;
            });              

        }


    }]
};
}]);

正如您所看到的,我尝试使用datepickers的代码更改值isOpen变量来显示绑定到另一个dom对象的datepicker。 但我所有的尝试都以"结束了未定义"错误。

1 个答案:

答案 0 :(得分:0)

在你的指令中试试这个:

scope: {
    element: "=",
    isOpen: "=",
    flowParameterMap: "=?"
},

现在你应该能够chagne isOpen value。