一个组件上有两个 Html 模板

问题描述 投票:0回答:1

如何在两个 html 模板上绑定同一对象的属性,以防第二个模板与主(第一个)模板相关,如下所示:

export class ExampleNo2AddedHTMLComponent extends ExampleNo2Component {
  constructor() {super();}

所有逻辑将仅包含在主ExampleNo2Component中。这两个组件都会被选择器调用:'jg-example-no2-added-html'?

我还将第二个组件的对象复制到第一个组件,但没有成功。

完整的代码和更多说明可以在:github.com找到 或者在 stacktest.de 上运行网络版本,包括评论。

感谢您的帮助,请随意分叉代码源。

angular templates binding
1个回答
0
投票

您可能对 JS 中的类如何工作存在误解。创建类时,会创建一个新实例。如果此实例 (1) 是从另一个实例 (2) 继承的,则它是新实例(1;类似于副本)的一部分。该实例 (1) 不会与其他实例 (3、4...) 关联,这些实例也是同一父实例 (2) 的继承人。并且也不会与父级 (2) 关联。

在 Angular 中你可以使用服务:

  • Component1 将服务注入为“服务”
  • Component2 将服务注入为“服务”
  • 服务具有属性“变量”
  • Component1 和 Component2 将具有“service.variable”

或者您可以对父子使用单向数据绑定(@Input())。


此外,我要说的是,使用一个组件从另一个组件继承是错误的做法。为了继承,为组件创建一个指令。

© www.soinside.com 2019 - 2024. All rights reserved.