在angular 2中实例化组件时将值从HTML传递到typescript
我从第三方控件派生,在angular 2中创建自己的自定义组件,如下所示:在angular 2中实例化组件时将值从HTML传递到typescript,angular,Angular,我从第三方控件派生,在angular 2中创建自己的自定义组件,如下所示: @Component({ selector:"my-kendo-grid" inputs: [gridType2] }) export class myClass implements OnInit{ @Input gridType:string; gridType2 : string; n
@Component({
selector:"my-kendo-grid"
inputs: [gridType2]
})
export class myClass implements OnInit{
@Input gridType:string;
gridType2 : string;
ngOnInit(){
console.log(this.gridType);
console.log(this.gridType2);
}
<my-kendo-grid [gridType]="'test'" [gridType2]="test2"></my-kendo-grid>
然后,我在另一个组件(父组件)中实例化此组件,如下所示:
@Component({
selector:"my-kendo-grid"
inputs: [gridType2]
})
export class myClass implements OnInit{
@Input gridType:string;
gridType2 : string;
ngOnInit(){
console.log(this.gridType);
console.log(this.gridType2);
}
<my-kendo-grid [gridType]="'test'" [gridType2]="test2"></my-kendo-grid>
现在我想从父组件和html文件本身而不是从.ts文件传递字符串值“test”。这样我就可以在构造函数中使用它,或者在子组件中使用它
但当我这样做时,在这两种情况下,我在控制台中的子组件中都没有定义。您不应该使用属性绑定
[gridType]
,因为您希望将直接字符串值传递给组件。在这种情况下,直接使用属性并在该属性中具有值。它将直接传递到组件绑定
<my-kendo-grid gridType="test" gridType2="test2"></my-kendo-grid>
什么是“html文件本身”?请添加代码,显示您正在解释的内容。嗨,冈特,“html文件本身”仅表示来自html文件,而不是来自.ts文件。什么html文件?index.html
或组件模板?这是一个组件模板,其代码如下:。但我在Ngonit控制台中变得“未定义”。但当我在子组件中创建一个按钮时,在它们的单击事件中,我得到了字符串值“test”和“test2”。但我希望在ngOnInit上有这个值,而不是在任何点击事件上。请编辑您的问题并在那里添加代码。注释中的代码不可读。有工作吗?你想在绑定中传递字符串值吗?嗨,Pankaj,我试过你说的:。但我在Ngonit控制台中变得“未定义”。但当我在子组件中创建一个按钮时,在它们的单击事件中,我得到了字符串值“test”和“test2”。但我想在ngOnInit上得到这个值,而不是在任何点击事件上。