Javascript 未调用的函数与document.getElementById(';someId';).appendChild()一起添加
我从api中得到了HTML代码的一小部分,希望像下面这样呈现到DOM中Javascript 未调用的函数与document.getElementById(';someId';).appendChild()一起添加,javascript,html,angular,Javascript,Html,Angular,我从api中得到了HTML代码的一小部分,希望像下面这样呈现到DOM中 //从后端获取模板。 让template1=“”//显示在dom中,但不加载表单。 //第二条路 让template2=“”; //从component.ts文件调用getUrl。 //使用appendChild()方法将模板附加到DOM中。。 const fragment=document.createRange().createContextualFragment(模板); document.getElementByI
//从后端获取模板。
让template1=“”//显示在dom中,但不加载表单。
//第二条路
让template2=“”;
//从component.ts文件调用getUrl。
//使用appendChild()方法将模板附加到DOM中。。
const fragment=document.createRange().createContextualFragment(模板);
document.getElementById('landingTemplate').appendChild(片段);
getUrl(){
返回'example/text.json';
}
//getUrl()不是从HTML调用。
如果字符串中有HTML标记,请使用innerHTML
document.getElementById('landingTemplate').innerHTML = template;
更新 如果它确实添加了标记,但您的
formio
组件不工作。。。下面是您可能正在寻找的两个链接:
document.createRange().createContextualFragment(模板)
,只需按照LGSon下面提到的做就行了。嗯,发布了一个答案,我说的对吗,它确实添加了标记,但您的formio
组件不起作用?如果是这样,我添加了一些可能有用的链接,其中一个甚至可能是重复的…document.createRange().createContextualFragment()和innerHtml都给出了相同的结果。但问题是formio并没有以这种方式呈现,而formio在直接放入html时运行良好。但是,template
是在backticks(es6)中构建的。。如果您使用.innerHTML
,这是否有效?@DavidR是的,它会。背景标记用于模板文本,尽管它仍然是一个字符串。感谢您澄清@LGSon!