运行 组件加载时的代码 angular 2 类似于 angular 1 app.run
Running a code when ever a component is loaded in angular 2 similar to angular 1 app.run
我从 angular 2 开始
我有几个问题
在 angular 中,我曾经在路由配置中定义一个变量,并基于该变量在 app.run() 中编写了一个代码,它将检查该变量是否为真,应该发生什么。
所以它所做的是,每当更改路由器时,它都会检查该条件。
现在如果我想在 angular 2 中实现同样的事情怎么办?
我们没有 app.run() 而是 bootstrap 并且是否可以在路由器配置中定义用户定义的变量?
我尝试搜索但找不到问题的答案。如果我提出的问题需要任何说明,请告诉我。
谢谢
当组件在 angular2 中加载时,调用生命周期 OnInit - 如果您想在加载新组件时从用户定义的配置中检查某些内容,您可以在其中编写代码,例如:
import { Component, OnInit } from '@angular/core'
@Component({
...
})
export class MyComponent implements OnInit {
ngOnInit() {
// write the check for the config value in here
}
}
您唯一需要做的另一件事是导入其中包含您的用户定义配置的文件,并在您定义的每个组件的 ngOnInit 方法中使用它。
另一种方法是订阅 angular 导出的位置服务,运行 每次位置 url 更改时检查。为避免重复订阅,您需要将此代码放在主 AppComponent 文件中。您唯一需要做的另一件事是拥有一个全局服务,您将其导入到所有组件中,该服务包含某种标志,可以告诉您配置值是否设置为特定值。
import { Component, OnInit } from '@angular/core'
import { Location } from '@angular/common'
... METADATA ...
export class AppComponent implements OnInit {
constructor(private location: Location) {}
ngOnInit() {
this.location.subscribe((value) => {
// do check in here / set value inside global service
});
}
我从 angular 2 开始 我有几个问题
在 angular 中,我曾经在路由配置中定义一个变量,并基于该变量在 app.run() 中编写了一个代码,它将检查该变量是否为真,应该发生什么。 所以它所做的是,每当更改路由器时,它都会检查该条件。
现在如果我想在 angular 2 中实现同样的事情怎么办? 我们没有 app.run() 而是 bootstrap 并且是否可以在路由器配置中定义用户定义的变量?
我尝试搜索但找不到问题的答案。如果我提出的问题需要任何说明,请告诉我。
谢谢
当组件在 angular2 中加载时,调用生命周期 OnInit - 如果您想在加载新组件时从用户定义的配置中检查某些内容,您可以在其中编写代码,例如:
import { Component, OnInit } from '@angular/core'
@Component({
...
})
export class MyComponent implements OnInit {
ngOnInit() {
// write the check for the config value in here
}
}
您唯一需要做的另一件事是导入其中包含您的用户定义配置的文件,并在您定义的每个组件的 ngOnInit 方法中使用它。
另一种方法是订阅 angular 导出的位置服务,运行 每次位置 url 更改时检查。为避免重复订阅,您需要将此代码放在主 AppComponent 文件中。您唯一需要做的另一件事是拥有一个全局服务,您将其导入到所有组件中,该服务包含某种标志,可以告诉您配置值是否设置为特定值。
import { Component, OnInit } from '@angular/core'
import { Location } from '@angular/common'
... METADATA ...
export class AppComponent implements OnInit {
constructor(private location: Location) {}
ngOnInit() {
this.location.subscribe((value) => {
// do check in here / set value inside global service
});
}