【发布时间】:2019-05-14 17:22:46
【问题描述】:
我知道 jQuery 上有很多这样的解决方案。但到目前为止,我无法在 Angular 的帮助下为自己调整这些解决方案。我有一个 isOpenSharedLinkDiv 变量,它使用 * ngIf 来显示或隐藏一个 div。当我单击此 div 外部时,我尝试将此值转换为 false,但在这种情况下,div 根本没有打开。我想我错过了什么。
test() {
console.log(this.isOpenSharedLinkDiv);
// const div = document.querySelector('#sharing-basket-div');
const div = document.querySelector('.page');
// const icon = document.querySelector('#sharing-basket-icon');
const shareDiv = document.querySelector('#share');
div.addEventListener('click', ev => {
if (ev.target !== shareDiv || ev.target === div && this.isOpenSharedLinkDiv === true) {
// this.isOpenSharedLinkDiv = false;
console.log(ev.target);
console.log(this.isOpenSharedLinkDiv);
} else {
return;
}
});
}
结果,这个变量被证明是假的,即使它还没有打开。
【问题讨论】:
-
您的预期结果是什么?您使用 *ngIf 隐藏 div 但何时显示?采取什么行动?
-
你能显示更多代码吗?从这里很难判断发生了什么。
-
不确定它是否真的需要指令,如果您可以在此处发布您的 html 代码,这将有助于找到更好的解决方案
标签: javascript angular typescript