Javascript gsap&;角度-未完成触发功能,但可以';不改变变量值
我正在使用GSAP和我的Angular项目在自定义下拉菜单上实现动画 我发现我可以将我的Javascript gsap&;角度-未完成触发功能,但可以';不改变变量值,javascript,html,css,angular,gsap,Javascript,Html,Css,Angular,Gsap,我正在使用GSAP和我的Angular项目在自定义下拉菜单上实现动画 我发现我可以将我的div折叠到高度:0px,但是边界仍然存在 我最初的想法是通过使用Angular指令来使用可见性:hidden:[hidden]=“isHidden”,其中isHidden是构造函数内初始化的.ts文件中声明的变量 我试图使用TweenMax.to(…)的onComplete部分启动一个函数,该函数将isHidden切换为true/false。但是,我发现我无法从这里更改布尔值 我确实检查了使用控制台.log
div
折叠到高度:0px
,但是边界仍然存在
我最初的想法是通过使用Angular指令来使用可见性:hidden
:[hidden]=“isHidden”
,其中isHidden
是构造函数内初始化的.ts
文件中声明的变量
我试图使用TweenMax.to(…)的onComplete
部分启动一个函数,该函数将isHidden
切换为true
/false
。但是,我发现我无法从这里更改布尔值
我确实检查了使用控制台.log(…)
启动的函数,但是我无法更改变量
我做错什么了吗
visible: boolean;
constructor() {
this.visible = false;
}
toggleDropdown(): void {
TweenMax.to(dropdown, 1, {css: {height: '0px'}, ease: Power2.easeInOut, onComplete: this.toggleVisibility}
}
toggleVisibility() {
this.visible = !this.visible;
}
我怀疑,在
toggleVisibility()
函数中,上下文(this
)与toggleDropdown()
中的上下文不同,因为您没有传递它
这是一个棘手的概念,但您必须将此传递/绑定到作为回调调用的函数:
…,onComplete:this.toggleVisibility.bind(this)
尝试在
toggleVisibility()
中记录(this),查看上下文是否正确。我怀疑,在toggleVisibility()
函数中,上下文(this
)与toggleDropdown()
中的上下文不同,因为您没有传递它
这是一个棘手的概念,但您必须将此传递/绑定到作为回调调用的函数:
…,onComplete:this.toggleVisibility.bind(this)
尝试
console.log(this)
insidetoggleVisibility()
以查看上下文是否正确。如果你控制台this.visibility,你在toggleVisibility方法中得到了预期的结果吗?啊,我得到了未定义的这倾向于确认我的答案。啊,是的,我在下面尝试了你的答案,效果非常好!谢谢你的建议:-)哦,太棒了:-)很高兴我能帮你。如果你能控制这个。可见你在toggleVisibility方法中得到了预期的结果吗?啊,我得到了未定义的这倾向于确认我的答案。啊,是的,我在下面尝试了你的答案,效果非常好!谢谢你的建议:-)哦,太棒了:-很高兴我能帮上忙。