我使用的是角度7,并且提供以下服务:
@Injectable({
providedIn: 'root'
})
export class InMemoryDataService implements InMemoryDbService {
private variable: Variable[];
url = 'http://127.0.0.1:4000/api/variable'; //I want make this as parameter when I initialize the service.
async createDb() {
if (this.variable.length > 0) {
return this.variable;
} else {
this.variable = await this.getdata();
}
}
async getdata() {
return await axios.get(this.url).then(res => res.data)
.catch(err => { console.log(err); return []; });
}
constructor() {
}
}
我想更改配置文件或config.js中的url,并读取此配置文件以更改url路径:
就像我想更改一样:
constructor(private url: string){
}
如何在Angular7中进行设置并在Angular框架中注册此服务变量?
答案 0 :(得分:0)
如果我理解正确,则希望将数据从组件发送到服务,并将其设置为变量。
您可以通过这种方式将服务注入组件
import { CommonService } from './../common.service';
constructor(public commonService:CommonService ){}
创建函数是您需要参数的服务
public myvar:any;
setData(param){
this.myvar = param;
}
并从组件中调用为
this.commonService.setData("parameter");