在我的AngularJS应用程序中,我有一个带有基本输入文本字段的表单,其中实现了角形式验证。只有在表单生效时才会启用提交按钮。
我遵循this教程,通过编写自定义指令,使用AngularJS实现jQuery datepicker。
在我的HTML中,我添加了
<date-time-picker recipient="recipient"></date-time-picker>
我的指令看起来像
.directive('dateTimePicker', function() {
return {
restrict: 'E',
replace: true,
scope: {
recipient: '='
},
template:
'<div>' +
'<input type="text" readonly data-date-format="yyyy-mm-dd hh:ii" name="recipientDateTime" data-date-time required>'+
'</div>',
link: function(scope, element, attrs, ngModel) {
var input = element.find('input');
input.datetimepicker({
format: "mm/dd/yyyy hh:ii",
showMeridian: true,
autoclose: true,
todayBtn: true,
todayHighlight: true
});
element.bind('blur keyup change', function(){
scope.recipient.datetime = input.val();
});
}
}
});
表单在实现后仍然显示为脏。我在这里错过了什么吗?
PS:我在指令模板中给出了一个虚拟ng-model
。
答案 0 :(得分:0)
scope.recipient.datetime = input.val()
尝试添加
Scope.$digest();
呼叫。这应该迫使范围自行解决。