我是Angular.io的初学者。
我创建了2个组件:" HeaderComponent"充当页面标题& " RestaurantComponent"充当页面主体。
有一个"添加餐厅" HeaderComponent中的按钮,当单击它时,它将在灯箱(模态)中显示一个表单。
单击“提交”按钮时,“添加餐厅”表单将调用API:
this.restaurantService.addRestaurantDetails(newRestaurant)
.subscribe(restaurant => {
location.reload(); //this will caused it reload entire page
});
当我点击"提交"在我的表单中,然后刷新当前组件(在这种情况下为RestaurantComponent)。如果我在另一个组件,如" DashboardComponent",我也想刷新仪表板组件。
此外,我想知道如何重定向到回调函数中的另一个组件。例如。我在RestaurantComponent,当我点击表单提交按钮时,我想导航到DashboardComponent。
提前谢谢!
答案 0 :(得分:0)
更新@Input参数时,会更新角度控件。但是您无法从其他控件更新它们,因为它会导致众所周知的异常。相反,您可以将它们绑定到服务的属性。预期的设计是当您的所有数据都存储在服务中并且组件上的输入字段绑定到这些服务的属性值时。然后,如果您修改服务中的属性(例如,在从后端接收答案时),其输入字段绑定到该服务的相应字段的控件将自动更新。
基本上,角度检查每个时间刻度上每个活动控件的@Input字段,如果它改变了,它会请求重绘。