我使用angularJS材质对话框来创建弹出窗口,我想输入一些任务完成的时间。我想使用bootstrap-datepicker,我必须为我的输入分配函数,
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页面中创建标签并从那里分配标签,因为当这个模板被调用时,我的输入将存在,但我想知道是否有办法如何制作它仅适用于我在控制器中的功能。
答案 0 :(得分: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
});
}
})