javascript - Angular - @Input 总是选择 undefined
问题描述
我有应用程序组件(我的菜单和按钮在哪里),我有我的主组件(我想根据是否显示菜单更改某些内容)。
我有一个布尔值,它基本上是菜单的状态,因为它显示为真,如果它隐藏则为假。
我在控制台中看到的内容:
当我尝试使用@Input 读取值时,首先它返回真或假(应该如此),然后立即将值更改为未定义。我用 ngDoCheck 命令试过这个。
这是我的代码:
home.component.ts
@Input() state: any; // tried boolean too, but kept any just in case
ngDoCheck(): void {
console.log(this.state)
}
app.component.html
<div class="icon">
<img
[@arrow]="menuState"
(click)="menuToggle()"
class="icon-img"
src="../../assets/icons/arrow.svg"
alt=""
/>
</div>
</div>
<app-home [state]="isMenuShown" [message]="message"></app-home>
另外,我试图传递随机消息,只是为了看看这是关于布尔值的,同样的情况......
解决方案
推荐阅读
- python - PyTorch 何时自动转换 Tensor dtype?
- protractor - protractorJS chai - 如何使用 getText() 断言数组中元素的文本包含字符串?
- load-testing - Liquibase:在这种情况下如何将我的数据库恢复到以前的状态
- java - 等待两个异步 firebase ml 视觉方法结果以在第三种方法中使用它们的最佳方法
- c++ - 使用 boost::geometry::within 编译错误
- reactjs - 反应网络应用程序条件应用程序加载不起作用
- vue.js - 在 Vue 项目中使用 `chromatic-sass`(或在 Sass 文件/块中使用任何 JavaScript 函数)
- java - 如何在 GWT Web 应用程序中正确实现 DAO?
- ruby-on-rails - Rails 5 中的自引用关联
- android - 从 RecyclerView onClick 获取数据绑定项