【发布时间】:2021-05-09 06:59:52
【问题描述】:
我有一个继承基础组件的 Angular 组件。
@Component({
selector: "my-baseclass-component",
template: `
<div style="border:1px solid red;padding:10px">
counter value (check console to see it gets incremented) : {{ counter }}
<ng-content select="[body]"></ng-content>
<br />
</div>
`
})
export class BaseClassComponent {
public counter = 0;
constructor() {}
}
我只想在单击按钮时从继承的组件中增加基础组件中的计数器。
@Component({
selector: 'my-inherited-component',
template: `<my-baseclass-component #myBaseclass>
<div style="border:1px solid black" body>Inherited Component Content
<button (click)="click()">toggle</button>
</div>
</my-baseclass-component>`
})
export class InheritedComponent extends BaseClassComponent {
click(){
this.counter++;
console.log('clicked:' + this.counter);
}
}
计数器变量使用大括号符号{{counter}} 显示在基本组件模板中,但尽管值本身正确递增,但它从不刷新。
我已经在 stackblitz 中重现了这个问题:
https://stackblitz.com/edit/angular-ivy-sssxvt?file=src/app/baseclass.component.ts
我做错了什么?
【问题讨论】:
标签: angular angular-components