当前位置 : 主页 > 手机开发 > 其它 >

继承 – 使用Typescript在Angular 2中的组件之间共享行为

来源:互联网 收集:自由互联 发布时间:2021-06-19
我目前正在使用Typescript开展Angular 2项目. 我有几个共享相同行为的组件:它们都能够显示加载器(取决于它们是否正在获取某些数据),错误屏幕(如果获取失败),并且它们都订阅了相同的服
我目前正在使用Typescript开展Angular 2项目.

我有几个共享相同行为的组件:它们都能够显示加载器(取决于它们是否正在获取某些数据),错误屏幕(如果获取失败),并且它们都订阅了相同的服务(一个获取数据).此服务每30秒刷新一次数据,组件订阅者对新数据的处理几乎完全相同.

我找不到分享这种行为的好方法.

我尝试使用typescript中的mixins,但首先,我不能覆盖我在我的组件中的mixin中声明的方法,其次,我仍然必须在我的组件中声明方法,里面没有任何东西,所以我的编译器不会抱怨.

我也尝试使用装饰器,但我的编译器抱怨,因为它没有找到装饰器中声明的方法.

我终于尝试使用带有父组件的typescript继承,它没有任何模板,它只是一个父类,我将它用于“extends ParentComponent”,并将我所有的逻辑放在ParentComponent中.最后一种方法是最简单的方法,但我有强烈的感觉,这绝对不是好方法(组合而不是继承等)

有没有办法正确地做到这一点?我来自铁轨上的ruby,就像ruby中的“顾虑”一样会很棒.

创建一个ParentComponent,它包含一个路由器插座,用于保存(ChildComponents)的唯一行为,并通过共享服务共享数据模型.

还包含延迟加载(使用loadchildren的路由)以获取模块特定的共享服务.

网友评论