簡體   English   中英

安裝了 npm package 但在瀏覽器中出現“不是函數”錯誤

[英]installed npm package but get “is not a function” error in browser

我正在使用Ionic 4並嘗試使用這個庫: https://date-fns.org來獲取像2019-11-01 07:23:22這樣的日期字符串,以便以人類可讀的方式顯示。

所以我安裝了lib:

npm install date-fns --save

然后在mypage.ts文件中

import { format, formatDistance, parseISO } from 'date-fns';

然后在mypage.html文件中

<div class="date">{{ formatDistance(parseISO(h.created_at)) }}</div>

所以我在瀏覽器控制台中收到此錯誤:

ERROR TypeError: _co.parseISO is not a function

它說 function 不存在,但它在文檔中: https://date-fns.org/v2.6.0/docs/parseISO

難道我做錯了什么?

在 TS 文件中:

import { format, formatDistance, parseISO } from 'date-fns';

constructor(public formatDistance: formatDistance) {
}

這是 HTML

<div class="date">{{ formatDistance(parseISO(h.created_at)) }}</div>

只能從視圖調用組件 class 的實例成員。

https://stackoverflow.com/a/41857120/7562674

在 Ts 文件中:-

import { Component } from '@angular/core';
import { format, formatDistance, parseISO } from 'date-fns';

export class AppComponent implements OnInit {

formatDistance=formatDistance;
parseISO=parseISO;  
date=  "2018-10-01";
d=new Date(2015, 0, 1)
constructor(){
  console.log(formatDistance(parseISO("2018-10-01"), new Date(2015, 0, 
  1)))
  }

在模板中:-

  <p>{{formatDistance(parseISO(date),d)}}</p>

我檢查了這是有效的。

聲明為變量並分配它而不是注入構造函數參數。 由於它是 function 而不是 class,為什么在構造函數中使用時顯示錯誤不是類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM