我有一個函數可以搜索文件夾樹並找到選定文件夾的父文件夾。無法在javascript/Polymer中調用我的遞歸函數
這是功能。
getParentFolder: function (searchroot, childFolder) {
searchroot.subfolders.forEach(function (folder) {
if (folder.key == childFolder.key) {
return searchroot;
}
else {
if (folder.subfolders) {
return this.getParentFolder(folder, childFolder);
}
}
});
}
當我把這個與this.getParentFolder(rootFolder, childFolder);
它僅僅只是給我:遺漏的類型錯誤:this.getParentFolder不是函數 這是爲什麼?在同一個文件中,我稱其他函數完全正常。這是我無法打電話的唯一功能。是因爲遞歸嗎?
所以這是否意味着每次我在任何循環中調用此函數都是因爲javascript的本質,我不得不每次重新將它分配給自己? – nanobots
當然,如果你想跟蹤你的主要對象。或者,你可以使用['bind'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) –
@nanobots,你可以傳遞外部'this '作爲'forEach'的參數,避免了使用'self'。 –