【发布时间】:2019-08-17 22:39:34
【问题描述】:
我是 Angular2 的新手,我正在阅读元素、组件、指令等之间的差异,但我不明白为什么存在 @Directive。
我已经阅读了文档(没有必要链接它,谢谢,我已经检查过了)并且我已经看到 @Component 是指令的一个特例。此外,还有不同种类的指令(结构、属性和已经提到的组件)。然而,在一天结束时,我查看了一些@Directive 的示例,我发现它们可以被相应的@Component 中的(事件)替换。
示例:此页面中@Directive 的主要示例 @Directive v/s @Component in Angular 可以替换为类似于
<contact-card [name]="'foo'" [city]="'bar'" (onClick)="someAction()"></contact-card>
可能我没有正确理解它并且无法替换它,但如果是这样,是否有任何充分的理由或有用的示例说明使用 @Directive 实际上是必要的或比调整 @Component 更简单?
提前致谢!
【问题讨论】:
-
这是一个完美的指令示例:angular.io/guide/attribute-directives
-
谢谢你的例子。我已经读过它并且我有一种感觉(虽然我没有实现它),正如我所问的,这个@Directive 可以被等量的代码代替。类似:
<p (mouseenter)="enter($event)" (mouseleave)="leave($event)>Highlight me!</p>但是,正如我所说,我可能错了。实际上,我会尝试将其作为练习。 -
在提到的另一个问题中,有一个非常有趣的指令应用,但其他答案显示还有其他解决方案,因此它没有回答我的问题。无论如何,我感觉指令只是一个(稍微)不同的工具,可能会或可能不会用于解决给定问题。
标签: angular angular2-directives