0

考虑一个有动态导航的场景(比如说奶酪类别的列表)。导航组件存在于布局中,该布局具有各种其他内容组件。其中之一允许用户更新所选奶酪类别的名称。但是......我们如何将其反映在导航组件上?如果有人将其视为一棵树,则您必须(在代码中)向上导航到布局,然后向下导航到可以更新状态的导航组件(通过查询服务器或传递更新内容)。

4

1 回答 1

2

一般来说,参数流是向下的,即从父级到子级,而不是另一个方向,因为渲染流是在那个方向上进行的。这就是为什么没有办法向上游传递参数(例如,到布局),因为这样就没有单一定义的渲染顺序。

史蒂夫桑德森

一般来说,您不能将数据从嵌入式组件传递到 MainLayout。

但是(您的问题很模糊,您应该对组件进行更详细的描述),您可以定义一个 AppState 服务来处理所涉及组件的状态,并允许从这些组件访问状态数据。

请参阅 Steve Sanderson 编写的这个示例,了解如何实现 AppState 服务。它还演示了我接下来要说的内容:https ://github.com/aspnet/samples/tree/master/samples/aspnetcore/blazor

将数据从子组件传递到父组件的另一种方法是在父组件中定义一个可能有参数的方法,并通过事件处理程序从子组件调用。

如果您向我们提供组件的轮廓,则可以提供更具体的答案...

希望这可以帮助...

于 2019-07-04T11:30:59.490 回答