Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 财产';转换文章';不存在于类型';物品类型';_Javascript_Typescript - Fatal编程技术网

Javascript 财产';转换文章';不存在于类型';物品类型';

Javascript 财产';转换文章';不存在于类型';物品类型';,javascript,typescript,Javascript,Typescript,我是typescript新手,不理解我遇到的这个错误。我有一个路线,我正在拉一个名为Article的类,如下所示: import { Request, Response } from "express"; const appRoot = require("app-root-path"); import { Article } from "./newsArticleModel"; const connection = require(appRoot + "/src/config/connectio

我是typescript新手,不理解我遇到的这个错误。我有一个路线,我正在拉一个名为
Article
的类,如下所示:

import { Request, Response } from "express";
const appRoot = require("app-root-path");
import { Article } from "./newsArticleModel";
const connection = require(appRoot + "/src/config/connection.ts");
const sql = require("mssql");




async function getNewsData() {
  const pool = await connection;
  const result = await pool.request()
    .input("StoryID", sql.Int, 154147)
    .execute("procedure");
  console.log(result, "the result from the stored procedure");
  return result;
}

sql.on("error", (err) => {
  console.log("the error", err);
});
export let index = async(req: Request, res: Response) => {
  try {
    let articles = await getNewsData();
    articles = Article.transformArticles(articles.recordset);
    articles = JSON.stringify(articles);
    res.render("home", {
      articles,
      title: "Home",
    });
  } catch (e) {
    console.log(e, "teh error");
  }

};
在上面的
try
的第二行中,我得到了以下错误:
属性“transformArticles”在类型“typeof Article”上不存在。
这是什么意思?这就是我的
文章
类的外观:

const appRoot = require("app-root-path");
import { TransformedRow } from "./transformedRowInterface";

export class Article {
  transformArticles(articles) {
    return articles.map((article) => {
      return this.transformRows(article);
    });
  }

  transformRows(row) {
    const transformedRow: TransformedRow = {
      id: row.StoryID,
      title: row.Title,
      summary: row.Summary,
      body: row.Body,
      synopsis: row.Synopsis,
      author: {
        name: row.AuthorName,
        email: row.AuthorEmail,
      },
      impressions: row.ImpressionCount,
      created: row.CreatedDate,
      updated: row.UpdatedDate,
    };
    return transformedRow;
  }

}
如果您想打电话:

Articles.transformArticles(...);
您需要将该方法设置为静态:

export class Article {
    static transformArticles(articles) {
或者,如果您不希望它是静态的,请创建
Article

 const article = new Article();
article.transformArticles(...);

原型中有附加类名的静态成员和附加实例和函数的非静态成员。