给定两个功能模块(A,B),每个功能模块都有自己的路由模块,如何将模块B导入A,而没有来自B(/ B)的路由干扰A(/ A)?照原样,来自B的路由会推到模块A的routeConfig的前端,从而导致由(/ B)加载指定的组件。
用例是模块B还会在A内导出我需要的组件(这与模块B路由指定的组件相同)。
我想直接的解决方案是为B创建两个模块,Bc导出组件,而Br导入Bc并拥有自己的路由模块。在那种情况下,我会将Bc导入A并避免出现问题。
还有另一种方法来处理这种情况吗?或者仅仅是我当前的体系结构不正确?
答案 0 :(得分:1)
让我们尝试从体系结构的角度理解这一点。
如果您有两个功能模块,则为了避免任何路由冲突,并且还可以使您的应用程序加载速度更快,请考虑将这两个模块都延迟加载。
如果有一个组件,该组件在两个模块之间共享,那么理想情况下,应将其放置在共享模块中,然后将共享模块导入两个模块(A和B)中。
如果您有一些一次性组件,管道,指令等,则应将它们放置在核心模块中,然后将其一次导入AppModule中。
在 Angular Styleguide 中有一些与此类似的极其重要的准则,我建议您仔细阅读一次。
希望这可以帮助您选择对inverse_df = pd.DataFrame(['x'] * len(output.index), columns=['place_holder'])
# use a for loop to run through the different output columns that need to be inverse_transformed
for column in output_cols:
# create a list of the different headers based on if the name contains the original output column name
one_label_list = [x for x in output.columns.values.tolist() if column in x]
one_label_df = output[one_label_list]
# inverse transform the data frame for one label
single_label = label_binarizer[column].inverse_transform(one_label_df.values)
# join the output of the single label df to the entire output df
inverse_df = inverse_df.join(pd.DataFrame(single_label, columns=[column]))
inverse_df.drop(labels=['place_holder'], axis=1, inplace=True)
组件应该做的事情。