【发布时间】:2020-06-12 15:37:37
【问题描述】:
是否有保留 2-way 绑定以及在 @onchange 上调用的方法?
类似的东西。
<input class="form-control" placeholder="My Number" @bind="Record.Number" @onchange="(()=> MyMethod())">
我希望它绑定,但在更改调用某些其他方法时不会设置更改事件中的 Record.Number 值。
@onkeyup 有效,但我想确保该值确实发生了变化。
【问题讨论】:
-
大概 Record.Number 是一个 C# 属性。为什么不把你的 onchange 代码放在那里?
-
很难把它放在那里,它是一个不直接在页面模型中的单独模型。页面模型有一个名为“记录”的属性,它有大量与记录相关的属性。所以 Record 属性无权访问 Page Model 方法。
-
很公平。连接
OnChange真的搞砸了绑定吗?我想这两种机制应该仍然有效。 -
很遗憾。如果有onchange,就不能使用@bind,必须使用value='Record.Number',而且当它发生变化时不再设置属性,必须在onchange中使用的方法中设置。可能没有简单的方法,可能必须直接将我的属性放在 Page 模型中,希望我不必这样做。
标签: c# .net-core blazor blazor-server-side