Angularjs 角事件碰撞

Angularjs 角事件碰撞,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我有一个angularjs应用程序,它使用具有隔离作用域的指令。该指令的一个不必要的副作用是,连接到同一元素的事件处理程序不再触发。本文件说明: 在app.js中,如果注释掉以下行,mouseenter、mouseleave和dblclick事件处理程序将启动相关的用户操作: scope: { data: '=source' }, 有人能解释一下这种效应吗?这是一个bug,还是出于设计?如何使控制器上的事件处理程序以我想要的方式启动。设置指令的方式创建了独立的作用域,该作用域不从父作用域继承

我有一个angularjs应用程序,它使用具有隔离作用域的指令。该指令的一个不必要的副作用是,连接到同一元素的事件处理程序不再触发。本文件说明:

在app.js中,如果注释掉以下行,mouseenter、mouseleave和dblclick事件处理程序将启动相关的用户操作:

scope: { data: '=source' },

有人能解释一下这种效应吗?这是一个bug,还是出于设计?如何使控制器上的事件处理程序以我想要的方式启动。

设置指令的方式创建了独立的作用域,该作用域不从父作用域继承,因此指令元素不可见

解决这个问题的一种方法是将指令移动到如下子元素上

<div ng-dblclick="dblclick()" ng-mouseenter="mouseenter()" ng-mouseleave="mouseleave()">
      <span my-directive source="getData()">Some content</span>
    </div>

一些内容
看到这个了吗