Angular 2+-如何在同一元素上组合mouseover,mouseout和click事件?

时间:2019-03-26 14:29:10

标签: angular forms click mouseover

我正在尝试实现导航链接功能,如果用户将鼠标悬停在其上,如果用户将鼠标悬停在其上,则将其关闭。而且,如果用户单击该链接,则会对其进行切换。我遇到的问题是事件相互冲突,并且导致导航下拉列表闪烁。单击开关将其关闭,但同时鼠标悬停在其上,以指示打开。

现实生活中的示例-https://www.td.com/ca/en/personal-banking/-“产品”或“解决方案”在导航中的工作方式。

1 个答案:

答案 0 :(得分:1)

  1. 您应该使用 logIn(user){ return this.http.post<Users>(base_url + 'login.json',{ email: user.username, password: user.password }) .subscribe(data =>{ this.store.set('__authToken', data.__authToken).then(data => { // AUTH_TOKEN = token; resolve(data) }, error => { reject(error); }); }, error => { console.log(error); }) // AUTH_TOKEN = 'Bearer 12345'; // localStorage.setItem('_authToken', AUTH_TOKEN); // this.authenticationState.next(true); } mouseenter来代替事件,以免它们不会在嵌套标签上触发。
  2. 我建议使用RxJs的mouseleave来实现开放性的观察,并将所有事件传递到结果fromEvent中。

在这里,我为您进行了一次突击,以表明我的意思: tf.slice

可观察的部分:

boolean

基本上,您将输入映射为true并保留为false,然后单击以切换为前一个值。