Angula2输入没有绑定

时间:2017-06-04 18:16:47

标签: javascript angular binding

我正在尝试绑定一些数据但是没有处理

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
 template : `<child [in]="25"></child>`
 })
export class AppComponent {}

和子组件

import { Component, Input } from '@angular/core';
@Component({
  selector: 'child',
  template: '<h1>{{in}}</h1>',
})

export class ChildComponent {

   @Input()  in: string;
 }

3 个答案:

答案 0 :(得分:1)

从“ @ angular / core”导入{组件}; @零件({   选择器:“ app-root”,  模板:<child [in]="25"></child>  }) 导出类AppComponent {}

从'@ angular / core'导入{组件,输入}; @零件({   选择器:“孩子”,   模板:“

{{in}}

”, })

导出类ChildComponent {

@Input()in:字符串;  }

这段代码没什么问题..一切正常。

答案 1 :(得分:0)

您应该实际分配一个变量,然后引用它。 public Hello =“25”; 然后[in] =“this.hello”  要么 删除括号并直接分配 in =“25”;

答案 2 :(得分:0)

您有两种方法可以将值分配给组件的输入:
1)直接将字符串值传递给模板的输入:

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
 template : `<child in="25"></child>`
 })
export class AppComponent {}

2)或者通过将输入绑定到类中定义的变量:

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
 template : `<child [in]="myVar"></child>`
 })
export class AppComponent {
  public myVar: string = "25";
}

因此,您不能像在此处那样将输入绑定到数字变量,只是因为类中定义的变量不能是数字(但它肯定可以是字母数字)。