2016-12-09 22 views
0

modal.resultsのモーダル角度スローエラーでレンダリングを使用すると、モーダルは定義されていません。私は間違って事前に何をしているのですか?uibmodalでレンダリングされたプロパティを使用するとエラーが発生します

私は、私は非常にうまく機能し、動的にプロパティを設定することができるようにモーダルダイアログを取得するためにquerySelectorを使用..しかし、戻って選択Googleでさらにいくつかの検索をした後

function showMyPopover(p) {   
     var modal = $uibModal.open({ 
      templateUrl: '/app/templates/modals/customPopoverModal.html', 
      controller: 'customPopoverController as vm', 
      size: 'sm', 
      animation: true, 
      windowClass: 'level-modal', 
      windowTopClass: 'ng-animate', 
      resolve: {     
       results: function() { 
        return vm.results; 
       } 
      }     
     }).rendered.then(function() { 
      // Grab target element 
      //var element = document.querySelector('#pid' + p), 
      var element = $('#pid' + p); 
      var ePosition = element.offset(); 
      var mLeft = 25; 
      var mTop = 25; 
      popModal = document.querySelector('.modal-dialog'); 

      // Set style 
      popModal.style.margin = 0; 
      popModal.style.top = 0; 
      popModal.style.left = 0; 
      popModal.style.backgroundColor = "green"; 
      var oTop = ePosition.top; 
      var oLeft = ePosition.left; 
      popModal.style.top = oTop + mTop + "px"; 
      popModal.style.left = oLeft + mLeft + "px"; 
     }); 
     modal.result.then(function (reply) { 
      vm.action = reply.choice;        
     }); 
    } 

答えて

0

から結果を得ることができません。 ..私は、$ uibModalInstanceを記述したポストをいくつか試した後に、私は最終的に私がレンダリングし、動的に位置を決め、エラーなしで結果を返すことを可能にするカスタムダイアログを得ました。上のコードを入力してここに追加してください...

注:p = 17は単なるテスト値なので、モーダルをどこに設定するかは分かります。

function activate() {   
     $('#one').focus(); 
     $uibModalInstance.rendered.then(function() { 
      doPositioning(); 
     }); 
    } 

    function doPositioning() { 
     var p = 17; 
     var element = $('#pid' + p); 
     var ePosition = element.offset(); 
     var mLeft = 25; 
     var mTop = 25; 
     var popModal = $('.modal-dialog'); 
     var oTop = ePosition.top + mTop; 
     var oLeft = ePosition.left + mLeft; 

     // Set style 
     popModal.css("margin","0"); 
     popModal.css("top", oTop + "px"); 
     popModal.css("left", oLeft + "px");   
    } 
関連する問題