将字符串转换为数字角度2单向绑定

时间:2017-08-24 11:23:12

标签: angular angular2-template

将字符串转换为数字角度2单向绑定

#import "ViewController.h"

@interface ViewController ()<UICollectionViewDataSource, UICollectionViewDelegate>

@end

@implementation ViewController
@synthesize collectionView;

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    UICollectionViewLayout *layout = [[UICollectionViewLayout alloc] init];
    collectionView=[[UICollectionView alloc]initWithFrame:self.view.frame collectionViewLayout:layout];
    [collectionView setDataSource:self];
    [collectionView setDelegate:self];
    [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellIdentifier"];
    [collectionView setBackgroundColor:[UIColor greenColor]];
    [self.view addSubview:collectionView];
}



-(NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    return 15;
}

-(UICollectionViewCell *) collectionView:(UICollectionView *)mycollectionView cellForItemAtIndexPath:(nonnull NSIndexPath *)indexPath
{
    UICollectionViewCell *cell=[mycollectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath];

    cell.backgroundColor=[UIColor redColor];
    return cell;
}

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    return CGSizeMake(50, 50);
}
@end

loc.location.lng是字符串我需要将它们转换为数字。但仍然无法正常工作。 在插值中,它正在工作,但在此工作不起作用。 感谢

4 个答案:

答案 0 :(得分:3)

您也可以通过尝试强制演员:

[longitude]="+loc.location.lng"

答案 1 :(得分:3)

创建一个函数,将值转换为float作为其位置并返回值。

    @IBOutlet weak var label: UILabel!

    @IBAction func numbers(_ sender: UIButton) {
        label.text = label.text! + String(sender.tag-1)
    }

在模板中调用该函数

    ConvertString(value){
return parseFloat(value)
}

答案 2 :(得分:1)

由于您尚未提供源代码,因此难以为您提供帮助 - 但如果您将longitude定义为number,则Angular应在绑定期间自动转换字符串值。

@Input() longitude: number;

答案 3 :(得分:0)

adii 的回答在性能方面并不好,因为更改检测会导致该方法运行多次......考虑使用管道。