首页 > 解决方案 > 打字稿 - 递归函数

问题描述

setBinary在打字稿的方法内创建了递归(rec)函数。但出于某种原因,它不在打字稿中工作,而是在 Angular 中工作。

如何将以下角度转换为打字稿。

运行时出现错误“rec 不是函数”

setBinary(rowId, vId, data) {          
   let pri;
    let pvi;
    let rec;


    rec (pri, pvi) {
        let latest = [];
        if (this.copyColumns[pri]) {
            this.copyColumns[pri].values[pvi].active = true;          

           let  x = this.copyColumns[pri].values[pvi]
            rec(x.pri, x.pvi)
        }
    };

    rec(data.pri, data.pvi)

}

标签: typescript

解决方案


一旦你声明了你的函数 setBinary 和你的函数 rec,你就有了可以编译的代码。

function setBinary(rowId, vId, data) {          
    let pri;
    let pvi;

    let rec = function (pri, pvi) {
        let latest = [];
        if (this.copyColumns[pri]) {
            this.copyColumns[pri].values[pvi].active = true;          

           let  x = this.copyColumns[pri].values[pvi]
           rec(x.pri, x.pvi)
        }
    };

    rec(data.pri, data.pvi)
}

推荐阅读