我一直在玩这个漂亮的 jQuery datpicker,想把它包装成一个指令,我可以在我的 Angular 应用程序中使用。该指令的代码现在非常简单:
directive('datePicker', function() {
return {
restrict: 'E',
template: '<input type="text" class="topcoat-text-input--large full" placeholder="Select Date">',
link: function (scope, element, attrs) {
element.pickadate();
}
}
如您所见,我只是使用必要的pickadate()
jQuery 调用来定位元素参数。输入被正确定位,因为当我单击它时,我提供了 datepicker 界面并且可以与之交互没有问题。但是,当我选择日期时,输入元素中不会填充任何信息。我是否遗漏了一些明显的东西,允许从控件中选择日期来设置输入值?
我做了一些调试,在链接函数中,元素参数似乎以某种方式包装了实际输入(似乎有一个包含<input>
标签的 childNodes 数组属性)。这可能是为什么我得到选择器的弹出窗口但所选值未设置为输入值的原因吗?