要将服务函数指向JSON对象而不执行它,您可以使用箭头函数来定义服务函数。这样,当您将函数赋值给变量时,它不会立即执行,而是在调用时执行。
以下是一个示例代码:
import { Injectable } from '@angular/core';
@Injectable()
export class DataService {
private data: any = {
name: 'John',
age: 25
};
getData = () => {
return this.data;
}
}
在上面的示例中,getData
函数是使用箭头函数语法定义的。这意味着当您将getData
赋值给变量时,它不会立即执行。
您可以在组件中使用该服务,并将函数指向JSON对象而不执行它,如下所示:
import { Component } from '@angular/core';
import { DataService } from './data.service';
@Component({
selector: 'app-root',
template: `
{{ data.name }}
{{ data.age }}
`
})
export class AppComponent {
data: any;
constructor(private dataService: DataService) {
this.data = this.dataService.getData();
}
}
在上面的示例中,我们通过调用getData
函数并将返回的JSON对象赋值给data
变量,来获取数据。由于getData
函数是箭头函数,它不会立即执行,而是在构造函数中调用时执行。
通过这种方式,您可以将服务函数指向JSON对象而不执行它。