1

有没有办法自动将组件的输入转换为数字?

例如这个组件初始化如下:

<list-of-playlists limit="5"></list-of-playlists>

并在这里定义:

@Component({
    selector: 'list-of-playlists',
    templateUrl: 'list-of-playlists.html'
})
export class MyPlaylistComponent implements OnInit {
    @Input() limit: number;
    ngOnInit() {
        console.log(typeof limit);   // string
    }
}

有没有办法limit自动转换为数字或整数?

否则,我将不得不输入 is 作为字符串或任何 in Typescript,或者通过将其转换为数字 in 来启动组件ngOnInit(),我想避免这种情况。

4

2 回答 2

1

您需要使用属性绑定

<list-of-playlists [limit]="5"></list-of-playlists>
于 2016-02-14T01:10:40.607 回答
1

根据http://victorsavkin.com/post/119943127151/angular-2-template-syntax(传递常量部分)

<list-of-playlists limit="5">

相当于(即语法糖)

<list-of-playlists [limit]=" '5' ">

也就是说,它总是导致字符串绑定。正如@Sasxa 在他的回答中已经提到的,使用属性绑定来获取所需的类型。

于 2016-02-14T02:12:09.343 回答