首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角[innerHTML] vs document.getElementById().innerHTML

角[innerHTML] vs document.getElementById().innerHTML
EN

Stack Overflow用户
提问于 2017-08-21 20:45:00
回答 1查看 2.2K关注 0票数 2

我有生成随机符号svg的代码,但是当我试图将svg绑定为[innerHTML]时,我没有得到结果,但是当我绑定document.getElementById().innerHTML时,SVG显示为正常。

代码语言:javascript
复制
holder : any
createSymbolIcon(): any {
    //placeholder until get full list of icons
    let symbolsSIDC = ['G*C*FS TP --*****', 'SUP*------*****', 'SNP*------*****']
    var renderedContent = "";
    for (var i = 1; i <= 10; i++) {
      var sidc = symbolsSIDC[Math.floor(symbolsSIDC.length * Math.random())];
      renderedContent = new ms.Symbol(sidc, { size: 30, infoFields: false }).asSVG();
       if(angularBind){
         this.holder = renderedContent
       } else {
         document.getElementById("symbols" + i).innerHTML = renderedContent;
       }
    }   
  }
}

忽略循环和holder只保存最后一个元素,以下是HTML中绑定的样子

<div id="symbols1" [innerHTML]='holder'></div>

最后,renderedContent的输出类似于

"<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny" width="35.4" height="38.4" viewBox="41 26 118 128"><path d="M 45,150 L 45,30,155,30,155,150" stroke-width="4" stroke="black" fill="rgb(170,255,170)" fill-opacity="1" ></path><path d="M45,50 l0,-20 110,0 0,20 z" stroke-width="4" stroke="none" fill="black" ></path></svg>"

知道是什么原因导致这个svg标记在与innerHTML值绑定时不呈现吗?我宁愿不使用document.getID

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-21 21:25:12

您做的是一个简单的错误:您必须将holder放在双引号(“")中。

代码语言:javascript
复制
<div id="symbols1" [innerHTML]="holder"></div>

这也应适用于海事组织:

代码语言:javascript
复制
<div id="symbols1" innerHTML="{{holder}}"></div>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45805246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档