编辑1:修正了一个错误,但仍无效。
element.val(ngModel.$viewValue || '');
应该是:
dateInput.val(ngModel.$viewValue || '');
编辑2 :问题似乎是由于隔离范围。当作用域是隔离时,不会调用注入的ngModel
的{{1}}方法。如果我将范围设置为非隔离并设置$render()
,则会按预期调用ng-model="selectedDate"
。
编辑3 :实际上问题归因于$render()
。如果我将其更改为$parent.selectedDate
,代码似乎工作正常。但是,我想确保selectedDate
没有在指令的作用域上定义,但它是从其父作用域继承的。这就是为什么我想使用selectedDate
,但它没有按预期工作。
我正在编写一个自定义日期选择器,当浏览器支持HTML5日期输入时,使用它,否则使用jQuery UI的日期选择器。它仍在进行中,现在只有使用本机HTML 5日期输入的部分正在实施。
该指令可以像这样使用:
$parent.
但是,当<div mil-datepicker ng-model="$parent.selectedDate"></div>
具有初始值时,指令不会呈现它。此指令也不会对selectedDate`进行外部更改(例如,通过单击按钮)。
我的代码可能有什么问题吗?
以下是代码的实时版本:milDatePicker。
以下是该指令的代码:
$scope.selectedDate