jquery - कोणीय मोडल बंद नहीं($ uibModal)




angularjs modal-dialog (2)

angular
.module('angProj')
.controller('UserCtrl',
    ['$scope', '$uibModal',
        function ($scope, $uibModal) {

            $scope.results = function (content, completed) {
                var modalInstance = $uibModal.open({
                        backdrop: 'static',
                        keyboard: false,
                        animation: $scope.animationsEnabled,
                        templateUrl: '/Scripts/angularApp/views/user-modal.html',
                        controller: 'UserModalCtrl',
                        resolve: {
                            items: function () {
                                return $scope.items;
                            }
                        }
                    });

                if (!completed || content.length === 0) {
                    return;
                }

        modalInstance.close();
        modalInstance.dismiss('cancel');

मैं उपयोगकर्ता को पूरा करने वाले मॉडल को बंद करने में सक्षम नहीं हूं .. उपयोगकर्ता-मोडल पर मैं प्रगति बार दिखा रहा हूं .. कोड बिना किसी त्रुटि के ठीक चल रहा है, लेकिन मोडल खुला रहता है। मैंने भी $ uibModalInstance की कोशिश की, लेकिन नियंत्रक त्रुटि फेंकता है: अज्ञात प्रदाता (IUmModalInstance को उसी UserCtrl पर इंजेक्ट करने में सक्षम नहीं) मैं ui.bootstrap (ui-bootstrap-tpls-1.1.2.js) इंजेक्शन कर रहा हूँ

आपके समय के लिए धन्यवाद।


अपने UserModalCtrl नियंत्रक के अंदर modalInstance.close() उपयोग करें

app.controller('UserModalCtrl', ['$scope', '$modalInstance' function($scope ,modalInstance {
  $scope.close = function () {
   modalInstance.close();
  };
}]);

मैंने ऐसा कुछ किया है, मुझे लगता है

मेरे पास एक $modal नियंत्रक है जो इस तरह दिखता है

angular.module('myApp').controller('infoCtrl', function ($scope, $uibModalInstance, loading) {

  $scope.editable = loading;

  $scope.$watch('editable.status', function(newValue, oldValue) {
    if (newValue == 'success'){
        // close modal
        $uibModalInstance.close('ok');
    } else if (newValue == 'error') {
        // show error message
    } 
  });
});

इंजेक्शन loading एक ऐसी सेवा है जो इस तरह दिखती है

myApp.factory('loading', function() {
  return {
    status: ''
  }
});

और जब मैं 'लोड' सेवा की स्थिति को 'सफलता' (कहीं से भी, मोडल नियंत्रक नहीं) को बदल देता हूं तो मोडल बंद हो जाता है।

मुझे नहीं पता कि यह वही है जो आप पूछ रहे थे, लेकिन मुझे आशा है कि यह मददगार होगा, बस, अगर कुछ स्पष्ट नहीं है तो पूछें!

संपादित करें: तो मान isCompleted: false कि आपके पास एक मूल्य वाला सेवा है isCompleted: false , उस सेवा को अपने मॉडल नियंत्रक में isCompleted: false और $watch फ़ंक्शन का उपयोग करें, तब जब यह isCompleted हो गया true , तो आप true isCompleted से बदल जाते true , तो आप मोडल बंद कर देते हैं।





ui.bootstrap