Javascript 如何从ng2智能表中的API获取数据?
我有一个使用Ng2智能表的angular应用程序,需要从API获取数据。我创建了一个从API获取数据的方法(但我不知道它是否有效),主要问题是如何获取数据以显示在Ng2智能表中 下面是我的HTML代码Javascript 如何从ng2智能表中的API获取数据?,javascript,angular,typescript,ng2-smart-table,Javascript,Angular,Typescript,Ng2 Smart Table,我有一个使用Ng2智能表的angular应用程序,需要从API获取数据。我创建了一个从API获取数据的方法(但我不知道它是否有效),主要问题是如何获取数据以显示在Ng2智能表中 下面是我的HTML代码 <div class="mainTbl"> <ng2-smart-table [settings]="settMain" [source]="dataMain"></ng2-smart-table> </div&g
<div class="mainTbl">
<ng2-smart-table [settings]="settMain" [source]="dataMain"></ng2-smart-table>
</div>
组成部分.ts:
export class ClientInfoComponent implements OnInit {
// start main stores tbl
settMain = {
noDataMessage: 'عفوا لا توجد بيانات',
actions: {
columnTitle: 'إجراءات',
position: 'right',
},
pager: {
perPage: 25,
},
add: {
addButtonContent: ' إضافة جديد ',
createButtonContent: '',
cancelButtonContent: '',
},
edit: {
editButtonContent: '',
saveButtonContent: '',
cancelButtonContent: '',
},
delete: {
deleteButtonContent: '',
},
columns: {
index: {
title: 'مسلسل',
width: '80px',
},
id: {
title: 'كود العميل',
width: '80px',
},
name: {
title: 'اسم العميل',
width: '160px'
},
phone: {
title: ' الهاتف'
},
address: {
title: ' العنوان'
},
nots: {
title: 'ملاحظات'
}
}
};
dataMain = [
{
index:1,
id:"",
name: "",
phone:"",
address: "",
nots: "",
}
];
// end main stores tbl
private myForm: FormGroup;
constructor(private formBuilder: FormBuilder,private Service:ClientsService) { }
ngOnInit() {
this.Service.getAllClients();
}
因此,我需要一些帮助来获取数据,以及如何在component.ts dataMain数组中保存数据,提前谢谢,请原谅,因为我是初学者。[source]=“dataMain”需要设置为从API获取的任何数组
我假设您希望客户端数据显示为函数
getClientData()似乎正在返回客户端数组:
getAllClients(){
this.clients = this.http.get(this.url).toPromise().then(
res=>{
// you assigned the array to the value this.clients below
this.clients = res as Clients[];
}
)
}
您的HTML设置应该是[source]=“this.clients”
,而不是dataMain,因为this.clients是保存要显示的列表的变量。[source]=“dataMain”需要从HTML模板设置为从API获取的任何数组
我假设您希望客户端数据显示为函数
getClientData()似乎正在返回客户端数组:
getAllClients(){
this.clients = this.http.get(this.url).toPromise().then(
res=>{
// you assigned the array to the value this.clients below
this.clients = res as Clients[];
}
)
}
您的HTML设置应该是
[source]=“this.clients”
,而不是dataMain,因为this.clients是保存您想要显示的列表的变量。您的服务不返回任何内容,您也不设置dataMain nothing感谢您的支持,您可以在我的示例中演示我是如何做到这一点的吗?您的服务不返回任何内容,您也不设置dataMain nothing感谢您的支持,您可以演示我如何在示例中做到这一点吗我的例子?好的,我明白了,我还有一个问题:哪一个性能最好(RXJS的承诺或可观察性)你的建议是什么?我希望我知道,但唉,我是一个非常新手。我喜欢使用this.clients=this.http.get(this.url).toPromise(),因为当我使用异步函数时,它会恢复得很好,我不知道如何用其他方法来实现。如果您正在使用键入,则可以设置此选项。客户端:客户端[];接近类的顶端,而不是在.then()中进行。好吧,我得到了它,我还有另一个问题:哪一个性能最好(承诺或可观察RXJS)你的建议是什么?我希望我知道,但唉,我是一个非常新手。我喜欢使用this.clients=this.http.get(this.url).toPromise(),因为当我使用异步函数时,它会恢复得很好,我不知道如何用其他方法来实现。如果您正在使用键入,则可以设置此选项。客户端:客户端[];接近类的顶端,而不是在.then()中进行(我认为)。