如何根据angular2中的结果检查单选按钮

时间:2016-09-21 09:23:22

标签: angular typescript rxjs

我正在尝试检查单选按钮,但它不起作用,下面是我的代码 我的模板,

<form  [formGroup]="form"  (ngSubmit)="onSubmit(form.value)">     
    <label class="control-label">ACCESS SETTINGS</label>

    <input id="radio-2" [formControl]="form.controls['status']" value = 1  type="radio">
    <label >Show to everyone</label>

    <input id="radio-1" [formControl]="form.controls['status']" value = 2   type="radio">
    <label >Show to friends</label>

    <input id="radio-3" [formControl]="form.controls['status']" value = 3  type="radio">
    <label f>Do not show now</label>
</form>

我的,

  .subscribe(details1 => {
     this.details1 = details1;
     this.tocheck = this.details1.display;
  });

  this.form = fbld.group({ 
     status: [this.tocheck],     
  });

我的服务,

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class GetAllList {
    str = localStorage.getItem('social');
    loc = JSON.parse(this.str);
    id =  this.loc._id;
    private _productUrl = 'http://localhost:3000/getprofiledetails/'+this.id;

    constructor(private _http: Http) { }

    getList(): Observable<IDetails[]> { 
        return this._http.get(this._productUrl)
           .map((response: Response) => {    
              return  response.json().data;
           });  
    }
}

在这里,我放了2个控制台,其中&#34;值得&#34;正在显示结果,但&#34; valueout&#34;显示未定义。这是如何声明&#34; tocheck&#34;一个全局变量?有人可以帮助我

1 个答案:

答案 0 :(得分:0)

你的第一个console.log的原因在于订阅。 如果您的observable获得details1

,将执行此操作

在收到详细信息之前,您的第二个console.log已被执行。 所以你必须在subscribe函数内改变单选按钮的状态!