我在HTML模板中有一个元素。我给它添加了一个指令:
<div myCustomDirective>HELLO</div>
我希望每当我将鼠标悬停在div
上时,div
内的文字都应该更改,但需要在Directive
(mouseover)
事件中完成。
我不知道如何从Directive
发出事件并在父元素内捕获。
感谢任何帮助。这是angular2项目。
答案 0 :(得分:41)
如果ui.tableWidget->horizontalHeaderItem(2)->setText("Area \n [m" + str + "]");
的输出为myCustomDirective
,则可以使用
@Output() someEvent:EventEmitter = new EventEmitter();
答案 1 :(得分:7)
我想添加@GünterZöchbauer的答案,如果您尝试从结构指令发出事件并在应用指令时使用星号(*
)语法,它不会起作用。如果与<ng-template [customDirective]="foo" (customDirectiveEvent)="handler($event)">
<div class="name">{{hero.name}}</div>
</ng-template>
语法一起使用,Angular 5.2.6仍然不支持结构指令的<div *customDirective="foo" (customDirectiveEvent)="handler($event)" class="name">{{hero.name}}</div>
绑定(参见GitHub issue)。
你必须将它转换为去糖形式(see here),即:
{{1}}
而不是:
{{1}}