AngularJs, как вызвать нг-клик внутри бутстрапа? - PullRequest
0 голосов
/ 30 мая 2018

Я довольно новичок в AngularJS, так что эту проблему может быть действительно легко решить.

Я делаю модальный, и пока он правильно открывается с работающим шаблоном и css, единственное, чтоне работает это функция внутри шаблона.У меня есть ng-click, и когда я нажимаю, функция не вызывается.

модальный контроллер:

export class modalCtrl {
        static $inject = ["$uibModalInstance", "dataList"];
        constructor(private $uibModalInstance: ng.ui.bootstrap.IModalServiceInstance, public dataList: Array<Interfaces.dataList>) { }

        close(): void {
            this.$uibModalInstance.close();
        }
    }
    module.controller("modalCtrl", ModalCtrl);

функция для запуска модального режима в моем главном контроллере:

openModal(event: ng.IAngularEvent) {
            event.stopPropagation();
            this.$uibModal.open({
                controller: "modalCtrl",
        controllerAs: "vm",
        resolve: {
                    dataList: () => this.dataList
        },
                templateUrl: "modalTemplate.htm"
            });
        }

функция, которую я вызываю из insde для модального устройства при нажатии ng:

 selectDataEntry(item: Interfaces.dataList) {
      this.dataList.forEach(p => p.isSelected = false);
      item.isSelected = true;
      console.log('ngclick works');
    }

, поэтому я помещаю в разрешение модального интерфейса, который я использую для извлечения данных, и это решило другую проблему, которая у меня была, ng-repeat, который зацикливался на этом интерфейсе, не работал, теперь это так.Но функция не вызывается, так что я думаю, что мне нужно сделать что-то еще с областями действия, кто-то может мне помочь?спасибо

1 Ответ

0 голосов
/ 30 мая 2018

В угловых Js, когда мы создаем модальное диалоговое окно, мы должны определить контроллер и его шаблон для этого диалогового окна режима l, который полностью находится в новой области видимости, откуда вы вызвали модальное диалоговое окно, поэтому, если вы выполняете какую-либо операцию, он имеетбыть определенным в контроллере диалога модели, а не в контроллере, из которого вы вызвали модальное диалоговое окно.

Поэтому, пожалуйста, определите вашу запись выбора внутри modelCtrl, она будет работать наверняка.Поскольку вы новичок в angularjs, прочитайте здесь, как использовать angularjs для начальной загрузки https://angular -ui.github.io / bootstrap /

...