Home >Web Front-end >JS Tutorial >Detailed introduction to Angular2 http service. 2018 latest angularjs2 service introduction details

Detailed introduction to Angular2 http service. 2018 latest angularjs2 service introduction details

寻∝梦
寻∝梦Original
2018-09-07 14:28:371013browse

The http service of

angular2 is a mechanism used to obtain or update data from the background program. Usually we need to make the module that exchanges data with the background into an angular service and use http to obtain and update the background data. , angular uses http's get or put to make background calls in the ajax method, and cross-domain issues need to be handled separately. Let's look at an example that demonstrates getting data from the backend web api and loading the page.

1. Since we need to use http service, we must introduce 2b498fab280e1f6e1790d59ea354bc36ac1e1267afce6c770a34634043e6967a, this step is very critical. This is the reason why I couldn’t find the http service before, and I wasted a lot of time here.
2. At the angular entrance, you need to introduce HTTP_PROVIDERS and inject it. At the same time, because you need to use map, subscribe, etc., you need to use the rxjs library, then Need to introduce import 'rxjs/Rx' in the entry program in advance, bloody lessons

import {bootstrap} from 'angular2/platform/browser';
import {HTTP_PROVIDERS} from 'angular2/http';
import {myFrame} from "./frame/component/myFrame.component";
import 'rxjs/Rx';
bootstrap(myFrame, [ HTTP_PROVIDERS]);

3. Create service

import {Injectable} from 'angular2/core';
import {Http } from 'angular2/http';
@Injectable()
export class channelService {
private _carsUrl: string = "http://localhost:6611/api/Chanel";
constructor(private _http: Http) {
}
getChannelList() {
return this._http.get(this._carsUrl).map(responce => responce.json())
}
在这个服务中使用了`http`中的`get`来获取数据,这里get的`url(web api)`是与我目前的`anuglar`应用在一个域内。作为服务我们需要申明该服务是可注入的`@Injectable()`

4. Service call

import {Component} from 'angular2/core';
import {appService} from './../service/appsetting.service'
import {channelService} from './../service/channel.service'
import {Channel} from './../model/channel'
@Component({
selector: 'topNav',
templateUrl: '../app/frame/template/topNav.html',
providers: [appService, channelService]
})
export class topNav {
 webTitle: string;
constructor(private _appService: appService,private _channelService:channelService) {  
this.getWebTitle();
}
getWebTitle() {
this.webTitle = this._appService.AppSetting.webTitle;
}
getChannelList() {
this._channelService.getChannelList().subscribe(res => { this.items=res});
}
} 
这里就和普通服务调用没什么区别了,需要先import再在providers中申明,然后在构造函数中注入就行了。

One thing to note in this example is that our front-end model and back-end model may be inconsistent, so you need to convert the data after obtaining the data. If the type fields are consistent, you can use it directly. Since it is in json format, the system will automatically Convert the backend model to the model used by our front end

Web api:

public class ChanelController : ApiController
 {
 // GET api/42820a3cc9b8dae7922d3e053756785d
public IEnumerableb79328fbba81c10bf446ccf392e511f9 Get()
{
 return new Chanel[] { new Chanel{ ID="1", ChanelName="组织机构"},new Chanel{ ID="2",ChanelName="通知公告"} };
}
}
注:web api 可以使用Swashbuckle 进行测试,安装 PM>Install-Package Swashbuckle,使用时只需在路径后加入swagger,如http://localhost:6611/swagger/ui/index

This article ends here. (If you want to see more, go to the PHP Chinese website angularjs Learning Manual to learn) If you have any questions, you can ask below.


The above is the detailed content of Detailed introduction to Angular2 http service. 2018 latest angularjs2 service introduction details. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn