dom模板就是原先就写在页面上的,能被浏览器识别的 html 结构,会在一加载就被浏览器渲染,所以要遵循 html 结构和标签命名,不然是不会被浏览器解析的,也就获取不到内容了,接着js获取 dom 节点的内容,就形成了 dom 模板。
字符串模板可能原先放在服务器上啊,script标签里,js 的字符串里,原先不参与页面渲染的一串字符,所以呢 它可以不在乎 html 结构和标签命名,只要你最后根据模板生成内容的结构和命名正确就好。
这两者其实区别就在于第一次获取到的方式不同,dom 模板参与浏览器解析,而字符串模板不参与,所以 dom 写起来要规范,而字符串模板不用。