在我的Angular2
应用中,有一个名为TabTitleComponent
的组件。
import { Component, OnInit,Input,AfterViewInit } from '@angular/core';
@Component({
selector: 'tab-title',
templateUrl: './tab-title.component.html',
styleUrls: ['./tab-title.component.css']
})
export class TabTitleComponent implements OnInit,AfterViewInit {
@Input() title;
ngOnInit()
{
console.log('ngOnInit'+this.title);
}
ngAfterViewInit()
{
console.log('ngAfterViewInit',this.title);
}
}
我在AppComponent
。
问题1
当我在HTML(TabTitleComponent
的模板)中使用AppComponent
时,我没有获得title
值。在控制台中,它正在记录undefined
。
<div>
<tab-title [title]='88'> </tab-title>
</div>
当我用以下内容替换它时,我在控制台中获得88
。
<tab-title [title]='88'> </tab-title>
问题2
当我title
string
类型并传递值时,我会收到undefined
。
我无法找到根本原因。有人可以帮我找出问题。
答案 0 :(得分:1)
也许是&#34; 88&#34; 试试这段代码:
<tab-title [title]="'88'"> </tab-title>
答案 1 :(得分:1)
//our root app component
import {Component, Input, NgModule, VERSION} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
@Component({
selector: 'tab-title',
template: '<div>{{title}}</div>'
})
export class TabTitleComponent implements OnInit,AfterViewInit {
@Input() title : string;
ngOnInit()
{
console.log('ngOnInit'+this.title);
}
ngAfterViewInit()
{
console.log('ngAfterViewInit',this.title);
}
}
@Component({
selector: 'my-app',
template: `
<div>
<tab-title [title]="'88'"> </tab-title>
</div>
`,
})
export class App {
}
@NgModule({
imports: [ BrowserModule ],
declarations: [ App, TabTitleComponent ],
bootstrap: [ App ]
})
export class AppModule {}