在Angular 6中,要从一个函数传递值到另一个函数,可以使用以下几种方法:
function function1(value: any) {
function2(value);
}
function function2(value: any) {
console.log(value);
}
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
@Injectable()
export class DataService {
private dataSubject = new BehaviorSubject<any>(null);
public data$ = this.dataSubject.asObservable();
setData(value: any) {
this.dataSubject.next(value);
}
}
在函数1中设置值,然后在函数2中获取值:
import { DataService } from './data.service';
function function1(dataService: DataService) {
dataService.setData(value);
}
function function2(dataService: DataService) {
dataService.data$.subscribe(value => {
console.log(value);
});
}
在路由配置中定义参数:
const routes: Routes = [
{ path: 'component1/:value', component: Component1 },
{ path: 'component2/:value', component: Component2 }
];
在函数1中导航到函数2并传递值:
import { Router } from '@angular/router';
function function1(router: Router, value: any) {
router.navigate(['component2', value]);
}
在函数2中获取值:
import { ActivatedRoute } from '@angular/router';
function function2(route: ActivatedRoute) {
route.params.subscribe(params => {
console.log(params.value);
});
}
这些方法可以根据具体的需求选择使用。请注意,以上示例中的代码仅为演示目的,实际应用中可能需要根据具体情况进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云