如何使用Angular 7从另一个组件访问组件值

李9287

我使用此代码从组件StripeComponent到CreditCardComponent访问“地址”值。我得到一个空值的地址,而不是StripeComponent中的实际值

这是我在CreditCardComponent中的子代码:

import { StripeComponent} from '../stripe/stripe.component';

@Component({
  providers: [StripeComponent],
  selector: 'app-creditcard',
  templateUrl: './creditcard.component.html',
  styleUrls: ['./creditcard.component.css']
})
export class CreditCardComponent implements OnInit {

  @Input() address : Address;
  @Input('address') ccAddress: Address;

  constructor(private creditCardService: CreditCardService,

  public stripeScriptTag: StripeScriptTag) {
    this.stripeScriptTag.setPublishableKey( this.publishableKey )
    this.ccAddress = this.creditCardComponent.ccAddress;
    console.log('this is the ccAddress', this.ccAddress);
}

这是StripeComponent中的父代码

public address =
new Address(
  {
    name:"",
    address_city: "",
    address_line1: "",
    address_line2: "",
    address_state: "",
    address_zip: "",
    address_country: ""
  }
)

这是Stripecomponent.html代码,creditcardcomponent.html没有html

<div class = form>
  <form (ngSubmit)="onSubmitAddress()"  class="address" >

    <mat-form-field class="name-width-height">
      <input matInput name="name" 
       type="text" required [(ngModel)]="address.name"
     >
     <mat-placeholder class="placeholder">Name</mat-placeholder>
    </mat-form-field>


       <button type="submit" mat-raised-button color="primary"class="btn 
     address_form">Submit</button>
  </form>
</div>
AJT82

组件不用作输入,您只需将变量传递给子组件,因此父模板应如下所示:

<app-creditcard [ccAddress]="address"></app-creditcard>

在子组件中,根据需要将其标记为输入。就像OnInit(或OnChanges)中提到的Sajeetharan

同时providers: [StripeComponent]从子组件中删除

这是一个示例:DEMO

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从一个组件访问状态值到另一个文件中的另一个函数(不是组件)?反应 js

Angular 4从另一个组件访问元素

从Angular中的另一个组件访问数组

如何从另一个组件访问[(ngModel)]?

React:如何从另一个组件访问一个组件?

如何从另一个组件访问一个组件的状态?

如何从另一个可重用组件和容器组件访问可重用组件

Angular 7 从组件导航到另一个

如何在另一个组件中访问Redux表单值

如何从子组件访问 Angular 4 中的另一个子组件

如何从 Angular8 中的另一个组件传递一个组件的值(独立组件)

如何恢复另一个组件的值?

如何从一个组件向另一个组件发送值?

如何在angular 7中动态传递另一个组件中的组件

如何使用 React 从另一个组件访问组件的类属性?

如何从登录组件到angular中的另一个组件获取sessionStorage的值

如何在angular 8中从一个组件访问另一个组件的div id

从Angular 4中的另一个组件访问组件方法

角4:如何从另一个组件更新另一个组件中的数组的值

将事件从子组件传递到另一个子组件Angular 7

Angular7-在另一个组件中注入组件

Angular7 - 在另一个组件中注入组件

将组件导入 angular 7 中的另一个组件时出错

Angular 2,Cant能够从另一个组件访问一个组件中的变量

VueJs:在另一个组件内部使用组件

React:在另一个组件中使用组件

如何访问Angular中另一个组件的DOM元素?

Angular:如何从另一个组件访问ActivatedRoute快照数据

如何从另一个组件而不是子组件获取变量的值?