在通过 HTML/JS/CSS 为 Metro 创建应用程序的过程中,我注意到(与 Web 类型的应用程序一样)存在跨站点共享的通用 UI 组件。为了快速完成它,我一直在复制和粘贴,例如,从一个页面到另一个页面的导航 AppBar(它在某些但不是所有页面中都是必需的,否则我会将它放在导航父级中)。
由于以下几个原因,这种方法开始困扰我:
- 如果我在导航中添加元素,这在开发的这个阶段经常发生,我必须将导航元素的 HTML + JS 复制并粘贴到每个具有导航的页面中。
- 我个人页面的 HTML 和 JS 文件被与页面目的无关的代码污染了。
- 任何开发人员都可能提出许多其他原因说明这不是一个好方法。
我希望能够定义我自己的自定义控件,它将导航功能封装到它自己的一组 HTML/JS/CSS 中(类似于导航器将子页面加载到默认 html 页面中的方式)。将选项传递给这样的控件也很好(我想是通过“data-win-options”属性)。这或多或少等同于 ASP.Net User Controls 或 ASP.Net MVC Partials(以及任何其他 Web 客户端框架,我敢肯定)。
不幸的是,在这个阶段,并没有太多的文档来指导我应该如何去做这样的事情——或者如果我还没有看到它(我找到了与C# 和 XAML 方法,而不是 HTML)。
因此,考虑到这一点,我的问题是:
- 这是解决问题的好方法吗?(我相信是,但如果有其他意见,我很想听听)。
- 是否有任何现有的在线示例可以证明该问题的合理优雅的解决方案 - 如果有,这些示例在哪里?当然,如果您有答案,欢迎您在此处发布解决方案 - 我敢肯定,如果您这样做,Stack Overflow 会喜欢它...