可以在类似于CSS的html文件中包含`templates`吗?

使用html templates 。 在代码方面,很难为每个html文件保留一组正确的模板。

是否有可能有一个模板文件,很像一个css文件,它包含在html文件的head部分?

例如,为了补充headstyle部分,可以链接到样式表,例如,

<link rel="stylesheet" type="text/css" href="mystyle.css" >

我的应用程序使用几个templates集合。 可以像样式表一样处理它们,即链接到单独的文件中,还是每个template定义都需要直接作为原始html文件的一部分?


想象一下,我们想要在一个名为templates.html的单独文件中导入一堆<template>

在(主)主页index.html中,我们可以通过HTML Imports导入文件:

<link rel="import" href="templates.html" id="templates">

在导入的文件templates.html中,根据需要添加一个或多个模板:

<template id="t1">
     <div>content for template 1</div>
</template>

<template id="t2">
     content for template 2
</template>

导入的文档可从<link>元素的import属性中使用。 你可以在其上使用querySelector

<script>
  //get the imported document in doc:
  var link = document.querySelector( 'link#templates' )
  var doc = link.import

  //fetch template2 1 and 2:
  var template1 = doc.querySelector( '#t1' )
  var template2 = doc.querySelector( '#t2' )
</script>

注意:您可以将上述脚本放置在主文档中或导入的脚本中,因为在解析(在下载时)时,导入文件中的<script>将立即执行。


http://www.html5rocks.com/en/tutorials/webcomponents/imports/

不过你需要HTML 5

<head>
  <link rel="import" href="/path/to/imports/stuff.html">
</head>

不幸,

<head>
  <link rel="import" href="/path/to/imports/stuff.html">
</head>

不起作用。

整个stuff.html作为head一部分粘在html中,并且为了所有可行的目的而无法访问。

换句话说, cannot be found using document.querySelector()` cannot be found using template defined in stuff.html中template defined intemplate defined in ,因此脚本无法使用它。

fwiw,我真的不明白任何import它现在的工作方式的好处 - 因为它需要在将内容追加到head之前剥离(而不是添加)所有外部html,而不是其当前操作。

链接地址: http://www.djcxy.com/p/87971.html

上一篇: can one include `templates` in a html file similar to css?

下一篇: What is the difference between max