角形罐';当被JavaScript更改时,不能通过[(ngModel)]获取输入值
我已经创建了一个自定义输入角形罐';当被JavaScript更改时,不能通过[(ngModel)]获取输入值,javascript,jquery,angular,typescript,angular-directive,Javascript,Jquery,Angular,Typescript,Angular Directive,我已经创建了一个自定义输入formControl,因此我需要通过[(ngModel)]获取/设置其值: 我的问题是: 当我直接输入时,我可以通过[(ngModel)]获得插入值,但正如您所看到的,当jQuery函数填充输入值时,我无法通过[(ngModel)]获得填充值。 我知道这是因为即使我使用了 $(element).find('input[type="text"]').change(); 什么也没有发生。Angular无法知道在其区域之外发生的变化。这意味着你应该告诉
formControl
,因此我需要通过[(ngModel)]获取/设置其值:
我的问题是:
当我直接输入时,我可以通过[(ngModel)]
获得插入值,但正如您所看到的,当jQuery函数填充输入值时,我无法通过[(ngModel)]
获得填充值。
我知道这是因为即使我使用了
$(element).find('input[type="text"]').change();
什么也没有发生。Angular无法知道在其区域之外发生的变化。这意味着你应该告诉你的Angular应用程序需要运行一个变化检测周期,看看是否有任何东西需要更新 在您的情况下,您应该初始化组件内的
时钟选择器
,并检测更改。请阅读更多关于太,这是有用的,以执行的东西,你以外的角度区
可能有用:
完成后
中,或在colorpicker库调用更改时的特定方法中,但我认为您也应该与您的自定义控件沟通该更改。再次感谢亲爱的,让我阅读您的链接说明并重试。没问题。如果您遇到问题,请告诉我,如果您能找到解决方案,请随时在此处回复;)
$(document).ready(function () {
$('.clockpicker').each(function (index, element) {
$(element).clockpicker({
afterDone: function () {
$(element).find('input[type="text"]').change();
}
});
});
});
$(element).find('input[type="text"]').change();