Angular 2在其他自定义指令中设置表单模型值

时间:2016-08-04 21:52:57

标签: javascript typescript angular angular2-directives

例如,我在一些更大的形式中有以下输入字段:

<input
    type="text"
    id="startDate"
    class="form-control"
    bootstrapDatepicker
    formControlName="StartDate"
>

输入字段具有表单模型的formControlName指令和一个用jquery datepicker手动设置值的自定义指令:

import { Directive, ElementRef, AfterViewInit } from "@angular/core";
declare var jQuery:any;

@Directive({
    selector: "[bootstrapDatepicker]"
})
export class BootstrapDatepicker implements AfterViewInit {

    private el: HTMLElement;

    constructor(el: ElementRef) {
        this.el = el.nativeElement;
    }

    ngAfterViewInit() {
        jQuery(this.el)
        .datepicker()
        .on("changeDate", function(e) {
            // ???
        }.bind({el: this.el}));
    }
}

从datepicker中选择日期后,视觉上会更改输入值,但不会显示表单模型值。

我可以手动设置输入模型值(在BootstrapDatepicker指令内)吗?

P.S。在我的情况下,jquery datepicker模块是neccesarry。

TNX

0 个答案:

没有答案