Начальная загрузка AngularJs $modal.open() работает только в первый раз

Я использую http://angular-ui.github.io/bootstrap/ (версия . 10). Мне нужно открыть простое модальное окно при нажатии события полного календаря (http://arshaw.com/fullcalendar/).

я делаю это с помощью

 select: function (start, end, allDay) {
                    console.log('Calendar select event fired');
                    var modalInstance = $modal.open({
                        templateUrl: 'template.html',
                        controller: function ($scope, $modalInstance) {
                            $scope.cancel = function () {
                                $modalInstance.dismiss('cancel');
                            };
                        },

                    });

Это работает в первый раз, и модальное окно открывается и закрывается нормально. Однако при втором нажатии модальное окно не открывается. $modal.open запускается, и консоль не показывает ошибок.

Одно и то же упражнение, если оно выполняется с помощью ng-click, работает постоянно. Это также необходимо после написания открытой функции в контроллере.

<button class="btn btn-default" ng-click="open()">Open me!</button>

Однако моя цель - вызвать модальное открытие из другой директивы, используя $modal.open.

Что мне не хватает?

ценю твою помощь.

иллюстрация плункера здесь


person Sumanta    schedule 20.01.2014    source источник
comment
Я не думаю, что на этот вопрос можно ответить без более подробной информации (в идеале минимальный сценарий воспроизведения с использованием plunker).   -  person pkozlowski.opensource    schedule 20.01.2014
comment
plnkr.co/edit/ItEqZp?p=preview   -  person Sumanta    schedule 20.01.2014
comment
Плункер сломан   -  person Ilan Frumer    schedule 20.01.2014


Ответы (1)


Попробуйте создать функцию контроллера отдельно, например

controller : 'sampleCtrl'

а затем выполните:

var sampleCtrl=function(){}

Реализуйте свой функционал в этой функции, это решит вашу проблему.

person chetan    schedule 24.02.2015