Javascript 属性在组件中的ngOnInit()之前被触发
我是Angular的新手,我尝试了一些代码,其中属性集在ngOnInit()之前被触发 我不确定这是如何工作的,但是Javascript 属性在组件中的ngOnInit()之前被触发,javascript,user-interface,angular6,frontend,Javascript,User Interface,Angular6,Frontend,我是Angular的新手,我尝试了一些代码,其中属性集在ngOnInit()之前被触发 我不确定这是如何工作的,但是isTriggered=false 有人能解释一下为什么会发生这种情况,以及触发this.isTriggered=true的方法是什么吗,,这与将其初始化为构造函数的一部分一样。ngOnInit发生在之后,这就是为什么要将它设置为false,然后设置为true 只需删除=false,就可以声明isTriggered,而无需为其赋值
isTriggered=false在调试器移动到this.isTriggered=true之前,首先触发code>代码>
有人能解释一下为什么会发生这种情况,以及触发this.isTriggered=true的方法是什么吗声明isTriggered=false
时,从ngOnInit()执行code>,,这与将其初始化为构造函数的一部分一样。ngOnInit发生在之后,这就是为什么要将它设置为false,然后设置为true
只需删除=false,就可以声明isTriggered
,而无需为其赋值如果您希望这样做,则只在ngOnInit中将其赋值为true。当您声明isTriggered=false
时,这与将其初始化为构造函数的一部分一样。ngOnInit发生在之后,这就是为什么要将它设置为false,然后设置为true
只需删除=false,就可以声明isTriggered
,而无需为其赋值代码>,然后只有在ngOnInit中,如果您希望这样做,则将其指定为true。事实上,这是非常明显的。要调用ngOnInit,您需要App类的实例。创建实例时,首先初始化所有声明的字段。事实上这很明显。要调用ngOnInit,您需要App类的实例。创建实例时,首先初始化所有声明的字段。问题在于ngOnInit
是一种角度生命周期方法,而isTriggered=false
是Javascript固有的类属性,就像您将它放在构造函数中一样
在Javascript类出现之前的老方法中,它可能更明显
export function App() {
this.isTriggered = false;
this.ngOnInit = function() { };
}
这样看来,很明显,在创建new App()
vs.ngOnInit
时,将立即调用isTriggered=false
,而只有在创建了新的对象之后,调用ngOnInit
的对象才会调用该应用程序
Angular生命周期方法将在Angular的框架计时时发生,这意味着它将在该类初始化之后的某个时间发生。在该类的初始化过程中,将设置class属性,因此您会看到调试器首先转到该行 问题在于ngOnInit
是一种角度生命周期方法,而isTriggered=false
是Javascript固有的类属性,就像您将它放在构造函数中一样
在Javascript类出现之前的老方法中,它可能更明显
export function App() {
this.isTriggered = false;
this.ngOnInit = function() { };
}
这样看来,很明显,在创建new App()
vs.ngOnInit
时,将立即调用isTriggered=false
,而只有在创建了新的对象之后,调用ngOnInit
的对象才会调用该应用程序
Angular生命周期方法将在Angular的框架计时时发生,这意味着它将在该类初始化之后的某个时间发生。在该类的初始化过程中,将设置class属性,因此您会看到调试器首先转到该行 我在本地工作区中有相同的代码,其中this.isTriggered=true;首先被触发,部署代码ISTRIGGERD=false;这是被触发的。我不知道为什么会这样。对不起,问题不清楚。嗯,听起来很奇怪。你怎么查到的?你确定在调用ngOnInit之前没有其他人接触该字段吗?我检查了每一行,代码实际上是一行接一行的,我现在不知道。你能试着用复制它吗?我在本地工作区有相同的代码,其中this.isTriggered=true;首先被触发,部署代码ISTRIGGERD=false;这是被触发的。我不知道为什么会这样。对不起,问题不清楚。嗯,听起来很奇怪。你怎么查到的?你确定在调用ngOnInit之前没有其他人接触该字段吗?我检查了每一行,代码实际上是一行接一行的,我现在不知道。你能试着复制一下吗?很好的解释谢谢很好的解释谢谢