首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模糊事件时模型未更新

模糊事件时模型未更新
EN

Stack Overflow用户
提问于 2017-06-06 16:07:30
回答 0查看 641关注 0票数 2

我是Angular2的新手,我正在尝试创建一个响应式表单。例如,我正在尝试创建一个交互式的日期输入。

我的HTML:

代码语言:javascript
复制
<div class="date ui-input">
    <input type="text" name="dateD" [ngModel]="model.date | date:'dd'" (blur)="setDate($event.target.value, 'd')" maxlength="2" />
    <div>.</div>
    <input type="text" name="dateM" [ngModel]="model.date | date:'MM'" (blur)="setDate($event.target.value, 'm')" maxlength="2" />
    <div>.</div>
    <input type="text" name="dateY" [ngModel]="model.date | date:'y'" (blur)="setDate($event.target.value, 'y')" maxlength="4" />
</div>

以及setDate()对应的TypeScript:

代码语言:javascript
复制
setDate(input:number, type:string[1]) {
    let min = 1;
    let max = 1;
    let fn = null;

    switch(type) {
        case 'd':
            max = 31;
            fn = 'setDate';
            break;
        case 'm':
            input -= 1;
            min = 0;
            max = 11;
            fn = 'setMonth';
            break;
        case 'y':
            min = 1990;
            max = 9999;
            fn = 'setFullYear';
            break;
    }
    if(input < min) {
        input = min;
    }
    else if(input > max) {
        input = max;
    }

    if(fn)
        this.model.date[fn](input);

    console.log(this.model.date);
}

模型更新得很好,我正在用console.log()检查。视图未更新。

我希望输入字段能按照date-pipe显示正确的日期,但似乎我错了。在Angular 1.x中,我知道一切都很不同,但我仍然能够实现我的目标。

有什么建议吗?是否有一个“手动”更新模型的功能?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44384591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档