2017-01-29 31 views
0

我使用angularJS材质对话框来创建弹出窗口,我想输入一些任务完成的时间。我想用自举日期选择器,我有分配功能到我的输入,

​​

,但问题是,当这个功能被击中时,该元素不存在。

这里是我的控制器功能:

$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

相关问题