【问题标题】:Angular5: where are "converters" ? (i.e. like JSF)Angular5:“转换器”在哪里? (即像 JSF)
【发布时间】:2018-06-18 20:21:37
【问题描述】:

我正在尝试将 Jsf 应用程序移植到 Angular5。 在 Jsf 中有一个有用的概念叫做转换器。转换器用于将输入组件值(字符串)转换为正确的数据模型类型。 Angular中有类似的东西吗? 假设我有一个日期字段

myfield: Date;  

还有一个像这样的输入组件:

<input type="date" [(ngModel)]="myfield">

我还没有找到将输入组件中键入的值转换为日期的简单方法。 我找到的唯一解决方案是处理 ngDataChange 事件并手动将字符串解析/转换为日期。 (并应用管道以正确的格式显示日期)

我错过了什么?

【问题讨论】:

    标签: angular converters


    【解决方案1】:

    您可以使用角度 4 中的日期管道以 {{valueDate | date: 'dd/MM/yyyy'}} 等格式显示日期

    但它不能用作输入字段。我希望你应该在你的打字稿中转换它。

    Angular 5 也是 javascript,而 javascript 是松散类型的语言。因此,您在 html 页面中看到的任何内容都被视为字符串。因此,如果需要,您可以在您的打字稿中编写一个函数来转换为日期。

    我会说,在 html 中通常会显示数据,因此它的日期或字符串无关紧要,但在将其发送到服务器或执行某些操作时调用 java 脚本Date()

    【讨论】:

    • Angular 使用 typescript,一种强类型语言!如果我使用类型化字段( any),我希望框架能给我一种将值转换为正确类型的方法。
    猜你喜欢
    • 2012-12-26
    • 2018-02-14
    • 1970-01-01
    • 2012-08-06
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    相关资源
    最近更新 更多