2014-09-03 16 views
0

$materialDialogAngular Material Design 구성 요소입니다.
하지만 해당 구성 요소를 사용하는 방법은 무엇입니까? 앵글 뷰 부트 스트랩 같은 것을 돌려주지 않는 이유는 무엇입니까? 약속이나 결과를 얻으려면 어떻게해야합니까? 다음은 간단한 예입니다.

var test = $materialDialog({ 
     templateUrl: '/Assets/app/azured/partials/dialog.html', 
     targetEvent: event, 
     resolve:{ 
      item: function() { 
       return item; 
      } 
     }, 
     appendTo: angular.element.find('dialog'), 
     controller: ['$scope', '$hideDialog', 'item', function ($scope, $hideDialog, item) { 
      $scope.name = item.Name; 
      $scope.cancel = function() { 
       $hideDialog(); 
      } 
      $scope.ok = function() { 
       scope.name = ''; 
       $hideDialog(); 
      }; 
     }] 
    }); 
    test.then(function (x) { 
     console.log(x); //this prints destroyDialog function why? 
    }); 

어디에서 사용자가 무엇을 압니까? $ materialDialog 내부에 사용자 지정 논리를 구현해야합니까? 그 경우 나는 그것을 꽤 이상하게 느낀다. GitHub의 237

+0

당신이 plunker – Fedaykin

+0

[이?] (https://material.angularjs.org/#/material.components.dialog/readme/overview) 내 코드로 예제를 제공하는 경우 그것은 좋은 것입니다 같다면, 데모를보십시오. destroyDialog 대화 상자 만 있으면됩니다. –

답변

2

에서 문제는 여기에 청소기 접근 방식을 보여 주며 Plunker 포함 된 블로그 게시물입니다 fn resolve

4

내 그래서 논리가 $ materialDialog의 외부에있는이

function DeleteItem(_list, _item) { 
    azuredBlade.Load('listId'); 
    Api.Delete(_list, _item).then(function (x) { 
     if (x) { 
      azuredBlade.Deload('listId'); 
      Refresher(); 
     } 
    }); 
} 
function Dialog(event, item, tableName) { 
    $materialDialog({ 
     templateUrl: '/Assets/app/azured/partials/dialog.html', 
     targetEvent: event, 
     resolve: { 
      item: function() { 
       return item; 
      }, 
      tableName: function() { 
       return tableName; 
      }, 
      fn: function() { 
       return DeleteItem; 
      } 
     }, 
     appendTo: angular.element.find('dialog'), 
     controller: function ($scope, item, tableName, $hideDialog, fn) { 
      $scope.name = item.Name; 
      $scope.cancel = function() { 
       $hideDialog(); 
      } 
      $scope.ok = function() { 
       fn(tableName, item); 
       $hideDialog(); 
      }; 
     } 
    }); 
} 

같이 해결하고 통과시켰다.

http://angularauthority.com/2015/04/28/creating-a-material-design-modal-service/