Angular 2 中具有多个组件的 SPA 和路由的正确架构
Correct architecture for SPA and routing with multiple components in Angular 2
我是 Web 开发的新手,也是 Angular。我需要开发应该具有以下内容的单页应用程序 "pages":
1.登录页面
2.首页
主页应包含几个部分:
报告、客户等
此外,每个部分都有自己的功能(特定按钮、表格等)。
我确实了解路由基础知识,并且已经使用 "sign in" 按钮创建了登录页面,该按钮会将您重定向到主页。所以,登录页面是一个独立的组件,有自己的路由。
现在我需要实现主页。我决定它应该始终在左侧打开导航选项卡(就像 https://material.angular.io/components/categories 一样),并在屏幕的其余部分显示所选部分的具体内容。
问题是我应该如何根据模块和组件来安排所有这些,以使其更干净和可重用?另外,如何为导航菜单中的每个选定部分实现可显示组件的更改?我应该使用路由(如果是这样,一些例子将不胜感激)还是可以使用其他东西?
文件排列可以是用户特定的。例如我自己,将被重用的方法和服务,如身份验证(登录和注册),守卫在一起。虽然特定于组件的方法可能位于组件的文件夹中。
对于我的项目,正如我在许多 projects/advice 中看到的那样,按用途分组。例如,任何功能模块本身都是一个文件夹,子文件夹对组件进行分组。对于在一个模块中单独使用的服务,根据数量,我要么将它们放在与功能模块相同的级别,要么放在 'shared' 文件夹中。在应用程序级别,我有一个共享文件夹,其中包含跨模块的所有内容。
如果您还没有使用 Angular CLI,请使用它,因为它可以帮助您开发,更重要的是,它的生成器确实有助于以通用结构驱动。
至于如何更改菜单,这是一个完全不同且更大的问题。根据您的设置,将其硬编码到您的菜单中或创建一个服务来控制您的菜单。
我是 Web 开发的新手,也是 Angular。我需要开发应该具有以下内容的单页应用程序 "pages": 1.登录页面 2.首页
主页应包含几个部分: 报告、客户等 此外,每个部分都有自己的功能(特定按钮、表格等)。
我确实了解路由基础知识,并且已经使用 "sign in" 按钮创建了登录页面,该按钮会将您重定向到主页。所以,登录页面是一个独立的组件,有自己的路由。
现在我需要实现主页。我决定它应该始终在左侧打开导航选项卡(就像 https://material.angular.io/components/categories 一样),并在屏幕的其余部分显示所选部分的具体内容。
问题是我应该如何根据模块和组件来安排所有这些,以使其更干净和可重用?另外,如何为导航菜单中的每个选定部分实现可显示组件的更改?我应该使用路由(如果是这样,一些例子将不胜感激)还是可以使用其他东西?
文件排列可以是用户特定的。例如我自己,将被重用的方法和服务,如身份验证(登录和注册),守卫在一起。虽然特定于组件的方法可能位于组件的文件夹中。
对于我的项目,正如我在许多 projects/advice 中看到的那样,按用途分组。例如,任何功能模块本身都是一个文件夹,子文件夹对组件进行分组。对于在一个模块中单独使用的服务,根据数量,我要么将它们放在与功能模块相同的级别,要么放在 'shared' 文件夹中。在应用程序级别,我有一个共享文件夹,其中包含跨模块的所有内容。
如果您还没有使用 Angular CLI,请使用它,因为它可以帮助您开发,更重要的是,它的生成器确实有助于以通用结构驱动。
至于如何更改菜单,这是一个完全不同且更大的问题。根据您的设置,将其硬编码到您的菜单中或创建一个服务来控制您的菜单。