didi/Hummer

如果主动关闭 视图调试窗口,应该释放对视图树的引用

kinarobin opened this issue · 0 comments

AnimationEntry1 子视图的释放在控制台不能输出

描述

Hummer version:

复现步骤

预期结果

class AnimationEntry1 extends View {
    view: View;
    constructor() {
        super();
        this.style = {
            width: 200,
            height: 200,
            backgroundColor: '#aa0044'
        };
        this.view = new View();
        this.view.style = {
            width: 100,
            height: 100,
            backgroundColor: '#00FF00'
        }
        this.appendChild(this.view);
    }
}

class RootView extends View {
    listViews:Array<AnimationEntry1> = new Array<AnimationEntry1>()

    constructor() {
        super();
        this.style = {
            width: '100%',
            height: '100%',
            backgroundColor: "#FF0000",
        }
        for (let index = 0; index <3; index++) {
            const element = new AnimationEntry1();
            this.listViews.push(element);
            this.appendChild(element);
        }
        this.addEventListener('tap', ()=> {
           while(this.listViews.length > 0) {
            this.listViews.pop();
           }
           this.removeAll();
           console.log("AnimationEntry 点击了");
        });
    }
}
Hummer.render(new RootView());