我创建了jQuery小部件,它基本上为本机jQuery UI Datepicker添加了更多功能和CSS样式。我使用onSelect
选项为datepicker相应地更新<input>
。问题是即使输入发生变化,$ scope的模型也不会改变。我知道我需要使用$ scope。$ apply()以某种方式通知角度输入已经改变。
我尝试了以下但是没有用。
this.options.onSelect = function (dateText, inst) {
$el.val(dateText);
that.$scope.$apply(); // This isn't working. I think I need to do something else
that.wrap.hide();
jQuery(document).find('.iconalt').hide();
if (that.options.afterSelect !== undefined) {
that.options.afterSelect();
}
}
答案 0 :(得分:0)
我能够找到解决方案。我需要在调用$ apply()
之前更新模型this.options.onSelect = function (dateText, inst) {
$el.val(dateText);
that.$scope.date = dateText; // Adding this worked
that.$scope.$apply();
that.wrap.hide();
jQuery(document).find('.iconalt').hide();
if (that.options.afterSelect !== undefined) {
that.options.afterSelect();
}
}