在两个地方对更改事件使用绑定值?
Using bind-value on change event in two places?
我有这样的事情,我从父组件绑定到子组件中的值。
<div class="col">
<Child @bind-InputValue="@parentInputValue"/>
</div>
我需要知道子项何时更改了 InputValue,以便我可以调用父项中的方法,因为还有其他组件需要根据 parentInputValue 中的值进行更新。
我试过绑定 InputValueChanged,但这会抛出一个错误,因为它说它在两个或更多地方使用。我猜 @bind-InputValue 已经设置好了。
我的问题是 - 我能否以某种方式在我的父组件中捕获该事件?该子组件中大约有 12 个不同的输入,我想在子组件更改父 InputValue 对象中的任何内容时以某种方式捕获事件。
我还尝试在名为 OnChange 的子项中设置一些参数,如果有任何更改,我会调用该参数,但我使用了这些奇怪的下拉菜单,这使得这项工作变得困难。
好吧,当我需要这样做时,我使用了 INotifyPropertyChanged
实现:
public class Model: INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _value;
public string Value
{
get { return _value; }
set
{
_value = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Value)));
}
}
}
<div class="col">
<Child @bind-InputValue="@model.Value"/>
</div>
@code {
private Model model = new Model();
protected override void OnInitialized()
{
model.PropertyChanged += (s, e) =>
{
Console.WriteLine($"Model {e.PropertyName} has changed.");
};
}
}
我有这样的事情,我从父组件绑定到子组件中的值。
<div class="col">
<Child @bind-InputValue="@parentInputValue"/>
</div>
我需要知道子项何时更改了 InputValue,以便我可以调用父项中的方法,因为还有其他组件需要根据 parentInputValue 中的值进行更新。
我试过绑定 InputValueChanged,但这会抛出一个错误,因为它说它在两个或更多地方使用。我猜 @bind-InputValue 已经设置好了。
我的问题是 - 我能否以某种方式在我的父组件中捕获该事件?该子组件中大约有 12 个不同的输入,我想在子组件更改父 InputValue 对象中的任何内容时以某种方式捕获事件。
我还尝试在名为 OnChange 的子项中设置一些参数,如果有任何更改,我会调用该参数,但我使用了这些奇怪的下拉菜单,这使得这项工作变得困难。
好吧,当我需要这样做时,我使用了 INotifyPropertyChanged
实现:
public class Model: INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _value;
public string Value
{
get { return _value; }
set
{
_value = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Value)));
}
}
}
<div class="col">
<Child @bind-InputValue="@model.Value"/>
</div>
@code {
private Model model = new Model();
protected override void OnInitialized()
{
model.PropertyChanged += (s, e) =>
{
Console.WriteLine($"Model {e.PropertyName} has changed.");
};
}
}