我正在做一个离子2项目。
这是我向本地API发出请求的提供者/服务...
import {Injectable} from 'angular2/core';
import {Http} from 'angular2/http';
import 'rxjs/add/operator/map';
@Injectable()
export class ServiceTest {
// data: any = null;
public data;
constructor(public http: Http) {
this.http = http;
this.data = null;
}
retrieveData(){
this.http.get('http://localhost:3000/people')
.subscribe(res => {
return this.data = res.text();
// console.log(this.data);
})
}
getData(){
return this.data;
}
}
组件的导出类:在控制台中返回undefined
export class Page1 {
constructor(public data:ServiceTest) {
this.data = data;
console.log(this.data.retrieveData());
console.log(this.data.getData());
}
}
事情是这样的,当我从服务中执行console.log(this.data.text())时,一切都在控制台中正常输出。
您的数据是异步加载的。所以我会这样更新您的代码:
@Injectable()
export class ServiceTest {
(...)
retrieveData(){
return this.http.get('http://localhost:3000/people')
.map(res => res.text())
.do(data => {
this.data = data;
});
}
在您的组件中:
export class Page1 {
constructor(public data:ServiceTest) {
this.data.retrieveData().subscribe(data => {
console.log(data);
console.log(this.data.getData());
});
}
}
以下是关于上面使用的运算符的一些解释:
map
运算符:旨在将数据流中元素的值转换为其他值。见此链接:https://github . com/Reactive-Extensions/RxJS/blob/master/doc/API/core/operators/select . MD < li>
do
运算符:强制触发操作,而不更改数据流。请参见此链接:https://github . com/Reactive-Extensions/RxJS/blob/master/doc/API/core/operators/do . MD。
预订
方法用于接收数据流上的结果/事件或错误/完成。
我有两个组件,如下所示,我想从另一个组件调用一个函数。这两个组件都包含在第三个父组件 using 指令中。 构成部分1: 我尝试过使用和但我不知道如何使用它以及如何调用该函数,任何人都可以帮忙吗?
很好的一天。我正在尝试使用php和xampp创建一个登录表单来运行代码。我在phpMyAdmin中已经有一个数据库,我得到了这个错误 连接! 致命错误:未捕获错误:调用C:\xampp\htdocs\login\connection中未定义的函数mysql\u query()。php:34堆栈跟踪:#0{main}在C:\xampp\htdocs\login\connection中抛出。第34行的
问题内容: 我试图在表单提交中调用特定的php函数,表单和php脚本都在同一页面中。我的代码如下(它不起作用,所以我需要帮助) 问题答案: 在下一行 该动作应该是脚本的名称,并且应该调用该函数,就像这样
As noted throughout this documentation, Flarum uses Laravel's service container (or IoC container) for dependency injection. Service Providers allow low-level configuration and modification of the Fla
我目前正在写一个WoodPress插件,它可以与WooCommerce一起工作。我查询WooCommerce订单,目标是使用来自荷兰route planner服务的API,使用这些订单的地址来规划配送路线。 为我编写PHP已经有一段时间了,我最后一次编写PHP是在7年前,所以我的PHP技能有些生疏。 查询订单后,我想调用函数routexl_generate(),该函数在我的代码中定义。但是,运行此
我一直得到这个错误: 致命错误:未捕获错误:调用未定义的函数mysqli_connect()在C:\Apache24\htdocs\asd.php: 2堆栈跟踪:#0{main}抛出在C:\Apache24\htdocs\asd.php在第2行 在任何php文件中运行任何mysqli cmd时,例如: 我已经在php中启用了扩展。ini文件,我一直在努力解决这个问题,但我就是做不到。任何帮助都将不