当我尝试执行此操作时:

dividerColor="{{isNaN(+price) ? 'warn' : 'primary'}}"

它给了我这个错误:
browser_adapter.ts:82 ORIGINAL EXCEPTION: TypeError: self.context.isNaN is not a function

如何检查我的对象在Angular2表达式中是否不是数字?

最佳答案

发生这种情况的原因是,表达式是根据 View 上下文而不是eval进行评估的,因此JS全局变量在模板中不可用。

考虑到 Number.isNaN 是polyfilled,从技术上讲可以做到

{{ (+price).constructor.isNaN(+price) ... }}

虽然可以算是骇客。我建议将每个辅助函数公开为类属性或管道。

关于angular - 如何检查Angular2表达式中的isNaN?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39218046/

10-11 13:36