Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度4无线电表单控制器工作不正常_Angular_Radio Button_Angular2 Template_Angular2 Forms - Fatal编程技术网

Angular 角度4无线电表单控制器工作不正常

Angular 角度4无线电表单控制器工作不正常,angular,radio-button,angular2-template,angular2-forms,Angular,Radio Button,Angular2 Template,Angular2 Forms,我有一个单选按钮 <div class="radio" *ngFor="let item of shipping?.availableOptions"> <input type="radio" name="shipping" value="{{item.id}}" [checked]="orderCheckoutRequest?.order?.shippingOptionId===item.id" formControlName="shipping">

我有一个单选按钮

<div class="radio" *ngFor="let item of shipping?.availableOptions">
     <input type="radio" name="shipping"  value="{{item.id}}" [checked]="orderCheckoutRequest?.order?.shippingOptionId===item.id" formControlName="shipping">
                                            {{item.name}} <strong>( {{item.shippingCost.amount}} {{item.shippingCost.currency | lowercase}} )</strong>

</div>
对于角度形式,这是有效的,因为控件有一个值,但我有两个问题:

  • 当我渲染浏览器中的视图时,按钮根本没有被选中
  • 我触发了另一个http请求,因为在ngOnInit()中我订阅了shippingControl,如下所示:

    shippingControl.valueChanges.skip(1).subscribe(数据=>{
    this.cartService.updateShippingForOrder();
    })

  • 我曾尝试使用skip(1)解决此问题,但由于某些原因,这一点都不值得尊敬。 谢谢

    按一个标志,说“radioSelected”到
    shipping?。可用选项
    array。 默认情况下,将其值设置为false。 Once
    orderCheckoutRequest?.order?.shippingOptionId===item.id
    满足,然后将相应的“radioSelected”值更新为true

    使用更改html模板
    [选中]

    <input type="radio" name="shipping"  value="{{item.id}}" [checked]="item.radioSelected" formControlName="shipping">
    
    
    
    按一个标志,说“radioSelected”到
    shipping?。可用选项
    array。 默认情况下,将其值设置为false。 Once
    orderCheckoutRequest?.order?.shippingOptionId===item.id
    满足,然后将相应的“radioSelected”值更新为true

    使用更改html模板
    [选中]

    <input type="radio" name="shipping"  value="{{item.id}}" [checked]="item.radioSelected" formControlName="shipping">