角样式绑定onMouseMove

时间:2019-05-01 23:23:59

标签: angular

我是ng7的新手,正在尝试创建将跟随鼠标的组件。因此,我需要做的是div的绑定样式。我的html是:

$talent_data = get_the_term_list( $post->ID, 'talent_cat');
switch( $talent_data ) {
                case 'modelos':
                    echo get_post_meta(get_the_ID(), 'talent_id_1495127471815', true);
                    break;
      }

和js:

<div class="follower" [ngStyle]="{'left': leftPos, 'top': topPos}"></div>

由于某种原因,它无法在控制台中正确打印一些奇怪的错误。

  

错误TypeError:jit_nodeValue_3(...)。topPos不是函数

怎么了?

1 个答案:

答案 0 :(得分:1)

HostListener装饰器之后必须是事件处理程序方法。为防止错误,请移动topPosleftPos的声明,以使onMouseMove立即跟随装饰器:

topPos: string;
leftPos: string;

@HostListener('document:mousemove', ['$event'])
onMouseMove(e) {
  this.topPos = e.clientY + 'px';
  this.leftPos = e.clientX + 'px';
}

有关演示,请参见this stackblitz