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

6

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

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

loc.location.lng是字符串,我需要将它们转换为数字。但是结果并不符合我的预期。 在插值中,它可以工作,但在这里却不能正常工作。 谢谢。


实际上,什么是有效的,什么是无效的?你尝试了什么? - Ramesh Rajendran
希望这能对你有所帮助 https://dev59.com/i6Tia4cB1Zd3GeqP7QVg#45483501 - jesusverma
3个回答

9

你也可以尝试通过这种方式强制转换:

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

如果 loc.location.lng 的值为空怎么办? - Ramesh Rajendran

8
制作一个函数,将值转换为其位置的浮点数,并返回该值。
    ConvertString(value){
return parseFloat(value)
}

在模板中调用函数

[longitude]="ConvertString(loc.location.lng)"

不太可能使用错别字 Covert <=> Convert 能正常工作。我也不确定 [longitude]={...} 语法的含义是什么。花括号的意义是什么?你还缺少一个右括号。最后,规范地格式化和缩进代码真的会带来那么多麻烦吗? - user663031
更新了,您可以检查一下,这是一个打字错误。 - Adiii
2
不要使用这种方法,而应该使用自定义管道。在Angular模板中,您永远不应该使用函数调用 为什么您不应该在Angular模板表达式中使用函数调用 - Arun CM

3

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接