我创建了一个自定义标签 x-account,其属性余额为 double 类型。当用户输入非数字数据到数量时抛出此异常。
Uncaught Error :评估表达式“余额”时出错:“字符串”类型不是“值”的“双”类型的子类型。
@CustomTag('x-account')
class XAccount extends PolymerElement {
@published double balance;
...
}
<template>
<input id="account-amount" type="number" value="{{balance}}" autocomplete="off"/>
</template>
如何在 XAccount 中捕获此异常?
最佳答案
您可以将您的字段更改为 getter/setter
double _balance;
@published
double get balance => _balance;
set balance(value) {
if(value == null) {
_balance = null; // or _balance = 0;
}
if(value is String) {
_balance = double.parse(value)
}
}
这样,您可以包装可能会抛出
try
的赋值或语句。/catch
堵塞。聚合物 1.0 见 Polymer dart: Data bind integer value to String attribute
关于dart - 如何在 PolymerElement 中捕获数据类型不匹配异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29578852/