當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
解决JS在controll层定义带循环的公共方法,组件中调用时取不到返回值的问题
生活随笔
收集整理的這篇文章主要介紹了
解决JS在controll层定义带循环的公共方法,组件中调用时取不到返回值的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:下拉列表中,點擊一個子節點,獲取父節點的Id。
如果將方法直接寫在組件內調用,完全ok的。
如果將方法提取到外層,想公用的話,組件內調用會出現方法中已經拿到值,但是頁面調用時取不到返回值;
效果如下:
公共方法:
?
組件調用:
解決方案:
?
// 錯誤公共定義// public findParentNode(node) {// if (node.origin.type === '00') {// return node.key;// } else {// // 當循環時只是執行方法,執行到滿足if條件時,返回值是else中的findParentNode方法返回值 // this.findParentNode(node.parentNode);// }// }// 正確公共定義public findParentNode(node) {if (node.origin.type === '00') {return node.key;} else {// 當循環時也要采用 return 方式, 這樣才是else中執行的findParentNode方法的返回值返回 return this.findParentNode(node.parentNode);}}解決后效果:
總結
以上是生活随笔為你收集整理的解决JS在controll层定义带循环的公共方法,组件中调用时取不到返回值的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学及建模书籍分享
- 下一篇: JavaScript基础第05天笔记