【问题标题】:Best approach to create reusable Angular UI Components创建可重用 Angular UI 组件的最佳方法
【发布时间】:2019-09-08 01:37:07
【问题描述】:

我想使用 Angular 2+ 创建可重用的 UI 组件。 我一直在检查 material.angular.io,但我需要说一些更具体的东西。

就像我想制作“引导面板”之类的东西,或者我想制作一个模板化的特定材质卡,即,我可以根据需要重复使用该组件并且设计保持一致。它有一个标题、一个正文和一个页脚。所有部分都可以包含 HTML。

我认为ng-content 是实现此目的的一种方式(类似于 angularjs 中的旧 transclude)。

使用ng-content 是否被视为“最佳实践”?它在未来被弃用的可能性有多大?

每个人如何创建可重用代码的“模板”或“容器”或“布局”?这样开发人员就不必继续编写样板 div 了吗?

还有哪些其他选择?

【问题讨论】:

    标签: html angular angular-material


    【解决方案1】:

    这实际上取决于您尝试赋予这些组件的用途。如果您只想在一个应用程序中重用它们,那么我会在一个名为 shared/components 的文件夹中创建一个组件。然后我将这些组件注入到我想使用它们的地方。

    如果我正在创建属于 shell 一部分的东西(如导航栏、侧边栏等),您可以将它们放在共享文件夹 shared/shell 中,然后将这些组件注入到 app.component.html

    现在,如果您尝试制作可在不同应用程序中使用的可共享组件,那么您必须创建一个库,然后您可以将其部署到 NPM,然后在您的任何应用程序中使用它。有多种方法可以做到这一点。

    【讨论】:

      【解决方案2】:

      好吧,你可以创建一个Angular Library

      简单来说,这就像任何其他模块一样(例如:sharedModule)。创建所有 UI 组件,将配置和参数作为@Input() 传递给它。准备好模块后,构建并打包库并将其托管在 npm 中或保存在共享驱动器中。

      稍后,当您创建一个新项目时,只需 npm install 您的库

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-08
        • 2019-03-29
        • 2014-08-26
        • 1970-01-01
        • 2013-02-19
        • 1970-01-01
        相关资源
        最近更新 更多