我是Angular的新手,从Angular 2入手,所以我想知道我是否还没有以正确的方式考虑这一点。
“面板”是我的应用程序中的内容页面。我想使用基础面板组件为从其派生的特定面板实现提供通用的UI和功能。
我希望底板组件具有包装由派生组件提供的模板的模板化内容-例如,这将提供标准化标题,其内容由派生实现提供,并允许子组件提供页面内容本身。
最终目标是使开发人员尽可能轻松地创建新面板,而不必担心渲染公用部分,从而可以实现一致性。
另外,我希望开发人员能够在从派生组件以编程方式设置的基本变量/属性与父模板呈现的相应元素之间进行双向绑定(除了它们中的元素之外)自己的子模板)。
这可行吗?还是我以错误的方式考虑了这个问题……不确定我是否处于Angular的状态。
在进行此工作时,我开始认为我可能需要调整以创建开发人员将在其面板实现中组成的可重用组件(如PanelHeaderComponent),而不是从通用UI的基础上继承...但是,我确实需要以某种方式集中管理所有面板的容器。
想要确保我以正确的方式这样做。谢谢!
最佳答案
我相信,就像您在上几段中所说的那样,一种有效的方法是对应用程序进行组件化。
基本上:为应用程序的不同部分创建可重用的组件(即:具有特定样式的按钮的面板标题)
如果要使用相同标题的其他面板,则可以在所有面板中重复使用该面板标题。
这将与按钮以及您要使用的任何其他控件类似。定义您的组件,然后在任何地方重用它,然后重用您定义的可重用的复合组件。
重要说明:到目前为止,据我所知,组件之间没有可视继承,因此为了简化您的工作,您可能想使用sass定义样式并利用@imports来干。
关于javascript - Angular 2中最佳的组件/视觉继承方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34517133/