如何在Aangularjs 2中将对象传递给组件(指令)?

时间:2015-12-21 12:25:39

标签: angular

我有组件'ContactSaveForm'(或Angular 1中的指令'contact-save-form'),我想将对象(person = { name: 'Max', second_name: 'Smith', age: 23 })传递给我的组件:

<contact-save-form [person]="person"></contact-save-form>

@Component({
    selector: 'contact-save-form',
    templateUrl: 'something.html'
})
@Inject( Something)
export class ContactSaveForm {
    @Input()
    person: any;

    constructor (){
    console.log(this.person);
    }

}

但是当我尝试[person]时,我收到了 - '人'(作为字符串)。 我尝试了所有选项

<inner-app (event1)="ctrl.onIncrement()" (event2)="ctrl.onIncrement()"
                   [message1]="ctrl.message1" [(message2)]="ctrl.message2" message3="Hey, inner app... nothin'">

但它不起作用(。任何人都可以帮助我吗?我正在使用ng-forward !!! 我期待看到console.log(person)

之后
  

{name:'Max',second_name:'Smith',年龄:23​​}

1 个答案:

答案 0 :(得分:0)

以您描述的方式传递对象的最简单方法是使用香蕉盒,就像使用message2[(person)]="ctrl.objectWherePersonIsStored"一样。如果由于某种原因这不起作用,我会尝试以下方法:

  • 确保您的属性名称对应于破折号与骆驼案例关系中的变量名称,我的意思是名为public myVariable的变量应由名为my-variable的属性表示。
  • 确保您的@Input()变量已标记为公开。