我想不使用<script>
var acc = document.getElementsByClassName(".faq h3");
var panel = document.getElementsByClassName(".faq p");
for (var i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
var setClasses = !this.classList.contains('active');
setClass(acc, 'active', 'remove');
setClass(panel, 'show', 'remove');
if (setClasses) {
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}
}
function setClass(els, className, fnName) {
for (var i = 0; i < els.length; i++) {
els[i].classList[fnName](className);
}
}
</script>
来访问子组件方法
例如:我有一个子组件,并且想告诉其父组件@ViewChild
由事件发射器来完成
buyFood()
父组件
child component
export class SearchComponent implements OnInit {
constructor() { }
@Output() foodEvent = new EventEmitter<any>();
askParentToByFood() {
this.foodEvent.emit();
}
eatFood() {...}
}
假设我们在父级中有一个 <child-component (foodEvent)="buyFood()"></child-component>
函数
现在我的问题是如何在不使用@ViewChild的情况下告诉子组件其父对象的eatFood。
答案 0 :(得分:0)
要将值发送到子组件,请使用@Input()
<child-component isReady="true"></child-component>
或
<child-component [isReady]="isReady"></child-component>
在其中isReady是要使用的父项中的变量和子项中的输入。