1

总的来说,我是 Angular 的新手,并且认真地开始使用 Angular 2,所以我想知道我是否还没有以正确的方式考虑这个问题。

“面板”是我的应用程序中的内容页面。我想使用一个基本面板组件来为从它派生的特定面板实现提供通用 UI 和功能。

我希望基本面板组件具有包装派生组件提供的模板的模板化内容 - 例如,这将提供一个标准化的标头,其内容由派生实现提供,并允许子组件提供页面内容本身。

最终目标是让开发人员尽可能轻松地创建新面板,而不必担心渲染通用部分,从而可以强制执行一致性。

另外,我希望开发人员能够在从派生组件以编程方式设置的基本变量/属性和由父模板呈现的相应元素之间进行双向绑定......(除了它们中的元素自己的子模板)。

这是可行的吗?或者我是否以错误的方式思考这个问题......不确定我是否处于 Angular 的心态。

当我一直在研究这个时,我开始认为我可能需要调整以创建开发人员将在其面板实现中组成的可重用组件(如 PanelHeaderComponent),而不是从通用 UI 的基础继承......但是,我确实需要以某种方式集中管理所有面板的容器。

想确保我以正确的方式做到这一点。谢谢!

4

1 回答 1

2

我相信一种有效的方法是,就像您在上一段中所说的那样,将您的应用程序组件化。

基本上:为应用程序的不同部分创建可重用的组件(即:带有特定样式的按钮的面板标题)

如果您想要使用相同标题的不同面板,则可以在所有面板中重复使用该面板标题。

对于按钮以及您想要使用的任何其他控件,这将是类似的。定义您的组件,然后在任何地方重用它,然后重用您定义的可重用复合组件。

重要提示:到目前为止,据我所知,组件之间没有视觉继承,因此为了简化您的工作,您可能希望使用 sass 定义样式并利用 @imports 来干燥的。

于 2016-02-16T16:04:53.483 回答