AppComponent(父)具有主页面(布局)和页面计数器:
export class AppComponent {
counter = '1/3';
}
<div class="counter">
{{counter}}
</div>
还有两个组件(子)负责页面内容 . 从子组件,需要访问父值(计数器) .
其中之一:
import {AppComponent} from '../app.component';
export class Page1Component {
app: AppComponent;
}
SomeEvent($event) {
this.app.counter='2/3';
}
<div class="content">
...
</div>
在事件发生后我收到一个错误:“TypeError:无法读取未定义的属性'计数器'”
问题:如何正确操作父变量?
3 回答
在子组件中添加输入字段:
然后你可以在父html中绑定到这个属性:
你这样做是错误的,你不能这样做..你必须通过
@Input
标签以下列方式做到这一点例如:
在app组件的html中
<ChildComponent [counter]="counter"></ChildComponent>
在您的子组件中
更多关于这是here
您可以通过输入属性将父变量传递给子组件 .
在你的应用程序中,你可以通过柜台
如果你想更改父级的计数器,你可以定义一个输出事件 Launcher ,并在发生某些事件时在父级中调用该方法
Update 如果你想改变父母的方式,你可以试试这个:
}