打字稿 - 递归函数

问题描述 投票:0回答:1

我在typescript中的setBinary方法中创建了递归(rec)函数。但是有些原因它不是在打字稿中工作,而是在角度js中工作。

如何将以下angularjs转换为typescript。

运行时出现错误“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
1个回答
1
投票

一旦声明了函数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)
}
© www.soinside.com 2019 - 2024. All rights reserved.