【问题标题】:Cast inputs to numbers in Angular2?将输入转换为Angular2中的数字?
【发布时间】:2016-02-14 00:51:51
【问题描述】:

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

例如这个组件是这样初始化的:

<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 转换为数字或整数?

否则我必须在Typescript 中键入字符串或任何字符串,或者通过将其转换为ngOnInit() 中的数字来启动组件,我想避免这种情况。

【问题讨论】:

    标签: angular property-binding


    【解决方案1】:

    你需要使用Property Binding

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

    【讨论】:

      【解决方案2】:

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

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

      等价于(即语法糖)

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

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

      【讨论】:

      • 感谢您的详细说明。您提供的链接很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多