2015-01-12 4 views
-1

Я использую Twitter-Bootstrap Modal. Я установил значок закрытия в заголовке Modal. Мне нужно активировать этот значок, чтобы закрыть Modal.Значок Close не работает на Bootstrap Modal с помощью AngularJs

<div class="modal-content json-modal-body" id="full-width" ng-controller="projectdetailsController" close="CloseModal()"> 
    <div class="modal-header modal-header-confirm"> 
    <h4 class="modal-title ng-binding"> 
     <span class="glyphicon glyphicon-indent-left"></span>{{modalOptions.headerText}} 
     <a type="button" title="Close" data-dismiss="modal"><i ng-click="CloseModal()" class="glyphicon glyphicon-remove icon-arrow-right pull-right"></i></a> 
    </h4> 
    </div> 
    <div class="modal-body"> 
    <pre class="Modal-pre" ng-bind-html="modalOptions.bodyText"></pre> 
    </div> 
</div> 

Контроллер:

var modalInstance=$scope.showJSON = function(){ 
    var modalOptions = { 
    headerText: ' JSON Schema View', 
    bodyText: 'jsonSchema' 
    }; 
    var modalDefaults = { 
    templateUrl: 'app/partials/jsonModal.html' 
    };   
    modalService.showModal(modalDefaults, modalOptions).then(function (result) { 

    }); 
} 
$scope.CloseModal = function() { 
    $modalInstance.close(); 
} 

Я использую ng-click="CloseModal()" закрыть модальный. Я также объявил close="CloseModal()" о родительском div. Как я могу это решить?

У меня есть регулятор AngularJs для этого модального. Могу ли я использовать контроллер?

+0

Что г у делать? Это ваш контроллер? – Ved

+0

Чтобы показать Modal, я использую контроллер .. и когда щелкнули значок закрытия, я хочу закрыть Modal. –

+0

Я разместил образец примера. попробуй это. – Ved

ответ

0

Вы должны объявить функцию CloseModal() в контроллере

Если вы используете angular-ui bootstrap он должен выглядеть следующим образом:

['$scope', '$modalInstance', function($scope, $modalInstance){ 

... 

$scope.CloseModal = function() { 
    $modalInstance.close(); 
} 
+0

$ modalInstance не определен –

+0

Неизвестный поставщик: $ modalInstanceProvider <- $ modalInstance отображается, если я добавляю '$ scope', '$ modalInstance', function ($ scope, $ modalInstance) –

+0

Вы используете угловую загрузку –

0

Выполните следующие действия:

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

// контроллер для модальных

app.controller('modalCtrl',['$scope','$modalInstance', function ($scope,$modalInstance) { 
     'use strict'; 
    $scope.cancel = function() { 
     $modalInstance.dismiss(); 
    }; 

Второй контроллер:

app.controller('Ctrl',['$scope','$modal', function ($scope,$modal) { 

    $scope.openModal= function() { 

     $modal.open({ 
        backdrop: true, 
        keyboard: false, 
        backdropClick: false, 
        templateUrl: "path of your modal HTML", 
        dialogClass: "modal-content", 
        controller: 'modalCtrl', 
       }); 
    } 
+0

Но я использовал один контроллер .. ng-controller = "projectdetailsController" и я использовал Twitter-Bootstrap Modal. –

+0

do ваша модель - открытие ..? – Ved

+0

Да ... И когда я нажимаю клавишу «Esc», она закрывается. –

Смежные вопросы