【发布时间】:2016-09-23 18:53:06
【问题描述】:
我有多个具有相同导航栏的 html 页面。我最近将导航栏放在它自己的 navbar.html 文件中,并通过 jquery.get() 使用 ajax 将导航栏动态加载到我的页面上,而不是在我的所有页面上重复代码。
目前在 navbar.html 上没有样式表,因为当导航栏被加载回调用页面时,样式就会被应用。
我也应该在 navbar.html 中包含 .css 吗?他们都将引用相同的 2 个样式表。我认为这是可能的,但尚未测试 - 它肯定会使将来更容易更改此文件。这里的最佳做法是什么?我不会使用任何服务器端代码。
如果有更传统的方法可以做到这一点,请告诉我;我没有任何运气搜索。 (我来自 .net 网络表单背景,所以会在那里使用母版页。)
任何相关链接也将不胜感激。
【问题讨论】:
-
使用 angular.js 对我来说看起来更好。您不需要单独加载 html。您可以对导航栏、页眉、页脚等使用指令。只有主要内容会根据路线而改变。
-
@NikhileshKV 是一样的想法。
-
就渲染而言,这不是一个好的做法。尝试使用一些模板语言,如“jade”、“mustache”、“handlebars”……以便只保留导航栏的 1 个模板。相信我,你必须投入一些时间才能开始,但你会在未来获得更好的工作流程。无论如何,如果你仍然想用 ajax 加载你的导航栏,你不需要包含所有的样式,你可以使用与你的主页相同的样式。只需将要注入的标签放入页面即可。