2017-01-29 5 views
0

나는 angularJS 재질 대화 상자를 사용하여 팝업 작업 창을 만들었는데, 여기에 작업을 완료하는 데 걸린 시간을 입력하고 싶습니다. 나는 부트 스트랩 - 날짜 선택기를 사용하려면 내가, 내 입력

angular.element(".timepicker").timepicker({ 
    showInputs: false 
});` 

을 기능을 할당 할 수 있지만 문제는이 기능이 명중 할 때, 그 요소가 존재하지 않는 것입니다. ,

$scope.showCompleteConfirm = function (ev) { 
     //Timepicker 
     angular.element(".timepicker").timepicker({ 
      showInputs: false 
     }); 
     $mdDialog.show({ 
      controller: UserDetailController, 
      templateUrl: 'app/components/templates/CustomTimeDialog.html', 
      parent: angular.element(document.body), 
      targetEvent: ev, 
      clickOutsideToClose: true, 
      fullscreen: false // Only for -xs, -sm breakpoints. 
     }) 
     .then(function (answer) { 
      //success 
     }, function() { 
      //fail 
     }); 
    }; 

내가 할 수있는 그 작업 내 HTML 페이지에 태그를 생성하고이 템플릿을 호출 할 때부터 거기에서 할당하는 것입니다 무엇, 내 입력이 존재합니다 :

여기 내 컨트롤러 기능입니다 하지만 컨트롤러에서 내 함수로 작동시키는 방법이 있는지 알고 싶습니다.

답변

1

전적으로 확신 할 수 없지만 $mdDialog에는 onComplete 라이프 사이클 후크를 사용할 수 있습니다. show() 실행 완료 후 해고됩니다.

$mdDialog.show({ 
      controller: UserDetailController, 
      templateUrl: 'app/components/templates/CustomTimeDialog.html', 
      parent: angular.element(document.body), 
      targetEvent: ev, 
      clickOutsideToClose: true, 
      fullscreen: false // Only for -xs, -sm breakpoints. 
      onComplete: function(){ 
        angular.element(".timepicker").timepicker({ 
        showInputs: false 
       }); 
      } 
      }) 
+0

방금 ​​테스트를 거쳤습니다. 나는 그들의 공식 문서에서 왜 그것에 관한 한 단어가 아닌지 궁금해. 고마워. – Martin