如何忽略导入到定义其自身路由的父功能模块中的功能模块的路由

时间:2018-08-17 21:33:25

标签: angular angular-routing

给定两个功能模块(A,B),每个功能模块都有自己的路由模块,如何将模块B导入A,而没有来自B(/ B)的路由干扰A(/ A)?照原样,来自B的路由会推到模块A的routeConfig的前端,从而导致由(/ B)加载指定的组件。

用例是模块B还会在A内导出我需要的组件(这与模块B路由指定的组件相同)。

我想直接的解决方案是为B创建两个模块,Bc导出组件,而Br导入Bc并拥有自己的路由模块。在那种情况下,我会将Bc导入A并避免出现问题。

还有另一种方法来处理这种情况吗?或者仅仅是我当前的体系结构不正确?

1 个答案:

答案 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) 组件应该做的事情。