私は角度2に新しいです、私は質問があります。 私はModalContentと呼ばれるコンポーネントとしてモーダルを作成し、その機能の一つである:角度2は関数varを別のコンポーネントに渡します
はどのように私は同じそれを使用するために、フォームと呼ばれる全く異なるコンポーネントで機能するモード成分で変数totalSelected
を渡すことができ
@Component({
selector: 'modal-content',
templateUrl: './app/d-modal/d.modal.content.component.html',
styleUrls: [ './app/d-modal/d.modal.content.component.css' ],
providers: [InMemoryDataService],
})
export class ModalContent {
totalSelected:number;
addM() {
let selected = this.m.filter((x) => x["selected"]);
let totalSelected = selected.length;
console.log(totalSelected);
this.activeModal.close('Close click');
}}
以下:
@Component({
moduleId: module.id,
selector: 'form',
templateUrl: 'form.component.html',
styleUrls: [ 'form.component.css' ],
directives : [ModalContent],`
})`
export class FormComponent {
@ViewChild(ModalContent) childComp: ModalContent;
addMForm() {
const modalRef = this.modalService.open(ModalContent);
modalRef.componentInstance.name = 'World';`
this.childComp.addM();
for (var m = 0; m < totalSelected; m++)
{
let newGroup = new FormGroup({
A :new FormControl(),
B: new FormControl(),
C: new FormControl(),
D :new FormControl()
});
this.Form.controls.users.push(newGroup);
}}
}
私が達成したい事は、ユーザiがキャプチャしたいモード成分で選択したものは何でもので、モーダルコンポーネントにおける選択の数に基づいて、私のフォーム内のフィールドの数を作成することです
totalselected変数の数値をフォームコンポーネントにプッシュし、( for)をカウンタとして使用しても動作しません。
は、子コンポーネントまたは親コンポーネントの他のコンポーネントですか? –
あなたはおそらく何らかの種類のサービスを利用しようとしています – Bean0341
イベントエミッターを試しましたか? – sebap