首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngOnChanges如何处理simpleChanges对象

ngOnChanges如何处理simpleChanges对象
EN

Stack Overflow用户
提问于 2018-03-11 15:39:57
回答 2查看 4.5K关注 0票数 3

我是angular 5的新手,我正在从官方网站上学习组件交互

代码语言:javascript
复制
ngOnChanges(changes: {[propKey: string]: SimpleChange}) {}

在生命周期的钩子中

代码语言:javascript
复制
ngOnChanges(changes: SimpleChanges) {}

据我所知,SimpleChanges是ngOnChanges作为参数获取的对象,我们可以使用它访问前一个和当前的值。但我不明白以下是如何工作的:

代码语言:javascript
复制
ngOnChanges(changes: {[propKey: string]: SimpleChange}) {}

我也找不到任何好的解释

EN

回答 2

Stack Overflow用户

发布于 2018-03-11 15:46:35

代码语言:javascript
复制
{[propKey: string]: SimpleChange}

means:具有string类型的键的对象,每个键都与SimpleChange类型的值相关联。

如果您的组件有3个输入a、b和c,并且输入a和c发生变化,则Angular将使用如下所示的参数调用ngOnChanges():

代码语言:javascript
复制
{
  a: {
    previousValue: ...,
    currentValue: ...,
    firstChange: false
  }
  c: {
    previousValue: ...,
    currentValue: ...,
    firstChange: false
  }
}
票数 3
EN

Stack Overflow用户

发布于 2018-03-11 21:17:14

这只是ngOnChanges函数中参数的类型sugar。

代码语言:javascript
复制
{[propKey: string]: SimpleChange

上面一行表示参数是一种哈希图,其中键是一个字符串,值是SimpleChange函数的一个实例。

“aaa”只是一个名字,你也可以输入"aaa",或者"myPropKey“,仍然有效。

请查看哈希图的https://www.sitepen.com/blog/2013/12/31/definitive-guide-to-typescript/和搜索

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49217752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档