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