POST(http服务)角度2

时间:2016-08-08 08:26:36

标签: typescript angular

我在angular 2应用程序中有这个POST数据:

public class_name{
     initComponents();
        setLocationRelativeTo(this);
}

在我的模板中,我有这个按钮:

postServices(property) {
    let body = JSON.stringify(property);
    let headers = new Headers({'Content-Type': 'application/json'});
    let options = new RequestOptions({ headers:headers });
    return this._http.post(this._url, body, options)
        .map(res => res.json());
}

我如何使用此http服务在我的模板中的 <button *ngIf="!!service_rec.servicecontrolled" [style.background-color]="service_rec.controlled == 'true' ? 'green' :'orange'" class="btn btn-warning"> {{ service_rec.servicecontrolled | json | toOnOff }} </button> 上添加活动?

3 个答案:

答案 0 :(得分:2)

您可以在按钮上添加点击处理程序,您可以通过该处理程序调用{​​{1}}。

postService

在您的组件中,类似这样的事情

<button *ngIf="!!service_rec.servicecontrolled" (click)= "callingPostService()"
 [style.background-color]="service_rec.controlled == 'true' ? 'green' :'orange'"
         class="btn btn-warning">
         {{ service_rec.servicecontrolled | json | toOnOff }}
 </button>

答案 1 :(得分:0)

我不清楚你试图解决什么问题,但我想

(click)="myService.postService('someProp')"

是您正在寻找的。

答案 2 :(得分:0)

您可以通过执行服务方法的调用来处理按钮上的click事件:

<button (click)= "executePostService()">(...)</button>

executePostService方法将按如下所述调用服务。你不必忘记订阅observable(observables是懒惰的)否则不会执行HTTP请求:

constructor(private service:SomeHttpService) {
}

callingPostService() {
  this.service.postService('prop').subscribe();
}