当更改路由时,数据源中的数据不断添加到现有的表数据源中可能是由于以下原因导致的:
- 订阅数据源未取消:在Angular中,当组件被销毁时,应该取消对数据源的订阅。如果没有正确取消订阅,当路由更改时,组件可能仍然保持活动状态,并且会继续向数据源添加数据。解决方法是在组件的ngOnDestroy生命周期钩子中取消订阅。
- 路由守卫未处理:路由守卫用于在路由导航期间执行一些操作,例如验证用户权限或加载数据。如果在路由守卫中未正确处理数据源,可能会导致数据不断添加到现有的表数据源中。确保在路由守卫中正确处理数据源,例如在加载数据之前清空表数据源。
- 数据源未重置:在每次路由更改时,应该重置数据源,以确保不会将新数据添加到现有的表数据源中。可以在路由更改时调用一个方法来重置数据源,例如在Angular的路由事件中使用Router.events.subscribe来监听路由更改,并在每次路由更改时调用重置数据源的方法。
关于Angular 7材料设计问题,可能需要提供更具体的问题描述才能给出完善的答案。Angular Material是Angular官方提供的一个UI组件库,用于构建漂亮的用户界面。它提供了一系列的预定义组件和样式,可以帮助开发者快速构建具有一致外观和交互的应用程序。如果有具体的问题或需求,可以提供更多细节,以便给出更具体的解决方案。