Model

2016-03-23 36 views
0

'daki seçili onay kutularını hatırla Bu, gereksinim duyduğum bir senaryodur. Modal kutusunu açtığımda ve bazı onay kutularını işaretlediğimde, açtığım ilk seferde onay kutularını ilk defa seçmek istiyorum. Aşağıda benim kodum.Model

Ana Kontrol kalıcı işlevi

function openModal() { 
      vm.modalInstance = $uibModal.open({ 
       animation: true, 
       size: 'lg', 
       templateUrl: "/template.html", 
       controller: 'ModalController as vm', 
       resolve: { 
        refFY: function() { 
         return vm.refFY; 
        } 
       } 
      }); 

      vm.modalInstance .result.then(function (selectedItem) { 
       $log.info('Modal ok-ed ', selectedItem); 
       vm.fySelections = selectedItem; 
      }, function() { 
       $log.info('Modal dismissed at: ' + new Date()); 
      }); 
     } 

modal kontrol

function ModalController($uibModalInstance, $log, refFY) { 
     var fvm= this; 
     fvm.refFY = refFY; 
     fvm.fySelections = []; 

     $log.info(fvm); 

     function dismissFYSelectionModal() { 
      $uibModalInstance.dismiss('cancel'); 
     } 

     function confirmFYSelectionModal() { 
      $log.debug(fvm.fySelections); 
      $uibModalInstance.close(fvm.fySelections); 
     } 

     function selectAll() { 
      fvm.fySelections = angular.copy(fvm.refFY); 
     } 

     function resetAll() { 
      fvm.fySelections = []; 
     } 

     fiscalyearvm.dismissFYSelectionModal = dismissFYSelectionModal; 
     fiscalyearvm.confirmFYSelectionModal = confirmFYSelectionModal; 
     fiscalyearvm.selectAll = selectAll; 
     fiscalyearvm.resetAll = resetAll; 
    } 

** kalıcı görünüşüdür vücut **

<div class="modal-body"> 
      <div class="panel"> 
       <div class="panel-body"> 
        <div class="col-md-12" data-ng-repeat="fy in fvm.refFY" data-ng-show="fvm.refFY.length > 0"> 
         <div class="ckbox ckbox-primary"> 
          <label> 
    <input type="checkbox" data-checklist-model="fvm.fySelections" data-checklist-value="fy"> 
          {{fy.year}} 
         </label> 
        </div> 
       </div> 
      </div> 
     </div> 
</div> 
+0

Oturum bittikten sonra devam etmek için kaydedilen ayarlara mı ihtiyacınız var yoksa oturum ile sıfırlanabilir mi? – user2687646

+0

Hayır, ihtiyacım yok, – Bukic

+0

@ user2687646'yı sıfırlayabilirler, eğer oturum bitiminden sonra ihtiyacım yoksa çözümünüz var mı? – Bukic

cevap

0

CheckBox en durumları i saklanması tavsiye ediyor n yerel depolama. Bu modül oldukça sağlam görünüyor: https://github.com/grevory/angular-local-storage

setStorageType() aracılığıyla oturum modülü depolama oturumunu yalnızca oturum için kalıcıyken, oturum depolama verileriniz bu sayfa için temizleyene kadar yerel depolama alanı kalıcı olduğundan, bu modülde oturum depolama seçeneğini yapılandırmak isteyeceksiniz. . https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

Bu açısal da kapsamına eklendiğinden modal ile ön dolum girişler için iyi bir yöntem vardır: Angular js init ng-model from default values

yerine metin değerlerini kullanarak

Alternatif doğrudan sessionStorage() API erişebilecek Booleanları ng-checked özniteliğini ayarlamak için kullanın ve işte olmalısınız.

Sorun yaşarsanız yorum yapın.