Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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
Javascript Angular 2-更改未反映在ngIf语句中的父组件的值,即使子组件实际获取表单_Javascript_Angular_Components_Angular Ng If - Fatal编程技术网

Javascript Angular 2-更改未反映在ngIf语句中的父组件的值,即使子组件实际获取表单

Javascript Angular 2-更改未反映在ngIf语句中的父组件的值,即使子组件实际获取表单,javascript,angular,components,angular-ng-if,Javascript,Angular,Components,Angular Ng If,这是父组件 import { Component, OnInit } from '@angular/core'; import {ViewEncapsulation} from '@angular/core'; @Component({ selector: 'app-bukkacorporateform', templateUrl: './bukkacorporateform.component.html', styleUrls: ['./bukkacorporateform.comp

这是父组件

import { Component, OnInit } from '@angular/core';
import {ViewEncapsulation} from '@angular/core';
@Component({
 selector: 'app-bukkacorporateform',
  templateUrl: './bukkacorporateform.component.html',
  styleUrls: ['./bukkacorporateform.component.css'],
  encapsulation: ViewEncapsulation.None
})
export class BukkacorporateformComponent implements OnInit {

 constructor() { }

  ngOnInit() {
  }
check: number = 6;

indi = function individual(){
    this.check = 4;
}
cliq = function clique(){
    this.check = 5;
}

comp = function company(){
    this.check = 6;
}
import { Component, OnInit, Input, NgZone } from '@angular/core';
import {ViewEncapsulation} from '@angular/core';
import { FormBuilder, FormGroup, ReactiveFormsModule } from         '@angular/forms';
import {Observable} from 'rxjs/Rx';
import {FormService} from '../../services/form.service';
import {CompaniesData} from '../../models/companies-data';

@Component({
  selector: 'app-corporateform',
  templateUrl: './corporateform.component.html',
  styleUrls: ['./corporateform.component.css'],
  encapsulation: ViewEncapsulation.None,
  providers: [FormService]
})
export class CorporateformComponent implements OnInit {

  @Input('data') type:number;
  value: boolean = true;
  subscriptionForm : FormGroup;
  constructor(fb: FormBuilder, private formService: FormService){
    this.subscriptionForm = fb.group({
      'contactname' : '',
      'phonenumber': '',
      'type' : '',
      'email' : '',
      'companyname' : '',
      'approxbudget' : '',
      'approxbudget' : '',
      'noofpeople' : '',
      'eventtype': ''
    })
  }
  submitForm(value: any):void{
    value.type = this.type;
    value.phonenumber += '';
    value.phonenumber = '0' + value.phonenumber;
    console.log(value);
  }
}
}

这是子组件

import { Component, OnInit } from '@angular/core';
import {ViewEncapsulation} from '@angular/core';
@Component({
 selector: 'app-bukkacorporateform',
  templateUrl: './bukkacorporateform.component.html',
  styleUrls: ['./bukkacorporateform.component.css'],
  encapsulation: ViewEncapsulation.None
})
export class BukkacorporateformComponent implements OnInit {

 constructor() { }

  ngOnInit() {
  }
check: number = 6;

indi = function individual(){
    this.check = 4;
}
cliq = function clique(){
    this.check = 5;
}

comp = function company(){
    this.check = 6;
}
import { Component, OnInit, Input, NgZone } from '@angular/core';
import {ViewEncapsulation} from '@angular/core';
import { FormBuilder, FormGroup, ReactiveFormsModule } from         '@angular/forms';
import {Observable} from 'rxjs/Rx';
import {FormService} from '../../services/form.service';
import {CompaniesData} from '../../models/companies-data';

@Component({
  selector: 'app-corporateform',
  templateUrl: './corporateform.component.html',
  styleUrls: ['./corporateform.component.css'],
  encapsulation: ViewEncapsulation.None,
  providers: [FormService]
})
export class CorporateformComponent implements OnInit {

  @Input('data') type:number;
  value: boolean = true;
  subscriptionForm : FormGroup;
  constructor(fb: FormBuilder, private formService: FormService){
    this.subscriptionForm = fb.group({
      'contactname' : '',
      'phonenumber': '',
      'type' : '',
      'email' : '',
      'companyname' : '',
      'approxbudget' : '',
      'approxbudget' : '',
      'noofpeople' : '',
      'eventtype': ''
    })
  }
  submitForm(value: any):void{
    value.type = this.type;
    value.phonenumber += '';
    value.phonenumber = '0' + value.phonenumber;
    console.log(value);
  }
}
当我提交表单时,类型变量实际上正在按预期进行更改,但是视图中的ngIf没有响应相同的变量更改 在模板中

<div class="three-in" *ngIf="type == 6">
                <!--<div class="form-group col-3 drop_fields">
                </div>-->
                <div class="form-group col-3">
                <input class="form-control"   id="corporate_lead_event_at" name="corporate_lead[event_at]" placeholder="Date of event" readonly="readonly" style="background-color: #fff;" type="text">
                </div>
                <div class="form-group col-3">
                  <input class="form-control" data-error="Invalid number" data-wrong="Invalid number" id="corporate_lead_budget" name="corporate_lead[budget]" placeholder="Approx Budget" type="number">
                </div>

                <div class="form-group col-3">
                  <input class="form-control" id="corporate_lead_number_of_people" name="corporate_lead[number_of_people]" placeholder="No. of people" type="number">
                </div>

                <div class="clear"></div>
              </div>


在您的问题中包括您的模板。我现在添加了视图,您在哪里更新
类型
?BukkacorporateformComponent与您的问题有何关系?实际变量更改发生在父组件上,通过this.check if语句,check变量通过@Input angular实现推送到type