Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript gsap&;角度-未完成触发功能,但可以';不改变变量值_Javascript_Html_Css_Angular_Gsap - Fatal编程技术网

Javascript gsap&;角度-未完成触发功能,但可以';不改变变量值

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

我正在使用GSAP和我的Angular项目在自定义下拉菜单上实现动画

我发现我可以将我的
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)
inside
toggleVisibility()
以查看上下文是否正确。

如果你控制台this.visibility,你在toggleVisibility方法中得到了预期的结果吗?啊,我得到了
未定义的
这倾向于确认我的答案。啊,是的,我在下面尝试了你的答案,效果非常好!谢谢你的建议:-)哦,太棒了:-)很高兴我能帮你。如果你能控制这个。可见你在toggleVisibility方法中得到了预期的结果吗?啊,我得到了
未定义的
这倾向于确认我的答案。啊,是的,我在下面尝试了你的答案,效果非常好!谢谢你的建议:-)哦,太棒了:-很高兴我能帮上忙。