【问题标题】:Angular-moment deprecation warning角力矩弃用警告
【发布时间】:2015-12-02 13:02:11
【问题描述】:

以下代码行生成以下警告:

 <span>{{prac.dateShown | amAdd: i : 'd' | amDateFormat:'dddd D MMM'}}</span>

弃用警告:时刻构造回退到 js 日期。

以下两行代码都没有。有谁知道怎么回事?

<span>{{prac.dateShown | amAdd: i : 'd'}}</span>


<span>{{prac.dateShown | amDateFormat:'dddd D MMM'}}</span>

i 是数组中的一个数字:[0,1,2,3,4,5,6,] prac.dayShown是我控制器中的一个矩变量。


添加更多代码

<div ng-repeat="prac in practices">

  <table>
    <thead>
    <tr>
      <th ng-repeat="i in [0,1,2,3,4,5,6]">
        <span>{{prac.dateShown | amAdd: i : 'd' | amDateFormat:'dddd D MMM'}}</span>
      </th>
    </tr>
    </thead>
    <tbody>
       [...]
    </tbody>
  </table>

</div>

【问题讨论】:

  • 只有在没有指定输入格式或标准 ISO 格式之一的情况下解析字符串时才会显示该错误。 prac.dateShown 是否可能实际上是一个 string 而不是 moment 对象?
  • 是的,100% 确定。这是声明:prac.dateShown = moment()
  • 添加一些代码以防万一……真是不知所措……

标签: momentjs angular-moment


【解决方案1】:

当使用prac.dateShown 时,您必须确保类型为Date 以允许 Moment.js 理解值的格式,在您的组件中执行以下操作:

this.prac.dateShow = new Date(YOUR_VAR);

那么prac.dateShow 将是一个有效日期

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 2021-07-12
    • 2017-08-22
    • 2011-09-29
    相关资源
    最近更新 更多