【问题标题】:Can I get an @Output out of a pug mixin?我可以从哈巴狗混入中获得@Output 吗?
【发布时间】:2016-11-28 18:43:41
【问题描述】:

所以我使用带有 pug 作为模板的 Angular 2,并带有一个小邮件订阅表单作为组件。我希望这个组件将表单值(电子邮件)作为@Output 发送,所以我的 AppComponent 可以使用方法中的值来实际订阅用户。

可以使用 pug 中的 getter 访问此时事通讯组件的输出:

newsletter-form((onSubscribed)="subscribeMail($event)")

这很完美,我可以在应用程序中获取值,除了我直接将这个 NewsletterComponent 从应用程序中取出,放入 pug mixin 中,作为页脚。

所以现在 AppComponent 不能再获取值了,因为表单的模板不再直接在应用程序的模板中......我可以在这个 mixin 中访问输出的值吗?

可能是 mixin 中的输出...我不知道...

我知道我可以直接使用表单组件,但它会损害我的架构并且不会......好吧,漂亮。

提前致谢

【问题讨论】:

  • 使用服务 :) 始终使用服务在非父/子组件之间进行通信。它干净有效
  • 这其实是个好主意!我会试一试,谢谢!

标签: angular output mixins angular2-template pug


【解决方案1】:

我发现了问题。它应该可以工作,但看起来 mixin 不在 App 闭包中。实际上发生的情况是mixin更新了,但是app模板没有,所以App没有得到变化,因为差异编译。

更改模板并保存(导致它重新编译)解决了问题,AppComponent 无缝获取了@Outuput 值。

菜鸟的错误

还是谢谢你!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多