1
有没有办法在验证错误的情况下停止值转换器的更新?例如,考虑这个简单的转换器:在验证错误的情况下停止Aurelia值转换器更新
export class JsonValueConverter {
toView(value) {
return JSON.stringify(value);
}
fromView(value) {
try {
return JSON.parse(value);
} catch (e) {}
}
}
<textarea value.bind="obj | json"></textarea>
任何无效的JSON值输入到textarea的原因obj = undefined
。我想保留最后一个有效值。
你可以做的一件事是延迟应用该值,直到输入完成。使用'value.bind =“obj | json&updateTrigger:'blur'”'。仍在考虑你的主要问题。 – LStarky
我想你可以只返回未转换的值,并希望它提高。在你的catch()中,使用'return value;'。我在想,因为ValueConverter没有状态,所以它不能单独为你想完成的任务负责。在实际提交输入值之前,您会希望在表单输入中使用验证,因此主要是希望避免ValueConverter干扰用户输入。 – LStarky
我同意@LStarky。 ValueConverter不是为你想要做的 –