2017-10-06 18 views
0

我是新來的打字稿,我不理解我得到的這個錯誤。我有,途徑,我在一個叫Article像這樣拉類:在上面的try的第二行屬性'transformArticles'不存在'typeof文章'

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"); 
    } 

}; 

,我得到以下錯誤:Property 'transformArticles' does not exist on type 'typeof Article'.這是什麼意思?這就是我的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; 
    } 

} 
+0

附有類名稱的靜態成員和附有實例和函數的非靜態成員在原型中。 –

回答

1

如果你想打電話:

Articles.transformArticles(...); 

你需要做的的方法靜態:

export class Article { 
    static transformArticles(articles) { 

或者,如果你不t要它是靜態的,創建一個實例Article

const article = new Article(); 
article.transformArticles(...); 
相關問題