Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加带有属性的Html标记_Javascript_Html_Properties_Polymer - Fatal编程技术网

Javascript 添加带有属性的Html标记

Javascript 添加带有属性的Html标记,javascript,html,properties,polymer,Javascript,Html,Properties,Polymer,我的聚合元素显示了它作为属性传递的一些属性。content属性可能包含一些html标记,如或。我面临的问题是,Polymer不会将标记添加到DOM树中,而是像普通文本一样打印它们。有没有办法强制“添加DOM树” 整个要素: <link rel="import" href="paper-toolbar/paper-toolbar.html"> <link rel="import" href="iron-collapse/iron-collapse.html"> <li

我的聚合元素显示了它作为属性传递的一些属性。content属性可能包含一些html标记,如

。我面临的问题是,Polymer不会将标记添加到DOM树中,而是像普通文本一样打印它们。有没有办法强制“添加DOM树”

整个要素:

<link rel="import" href="paper-toolbar/paper-toolbar.html">
<link rel="import" href="iron-collapse/iron-collapse.html">
<link rel="import" href="paper-material/paper-material.html">

<dom-module id="card-element" is="auto-binding">

<style>

#contentWrapper {
    padding: 10px 15px;
}

#toolbar {
    --paper-toolbar-background: #607D8B;
    --paper-toolbar: {
        font-size: 125%;
        opacity: 0.9;
    };
}

.maxWidth {
    width: 100%;
}

</style>

<template>

<paper-material elevation="2" class="maxWidth" id="card" animatedShadow="1">
    <paper-material elevation="1" class="maxWidth">
        <paper-toolbar on-click="toggleCollapse" id="toolbar" justify="justified">
            <span class="title">{{convertedDate}}</span><span class="title">{{fach}}</span>
        </paper-toolbar>
    </paper-material>
    <iron-collapse id="collapse">
        <div id="contentWrapper">
            <span>{{content}}</span>
        </div>
    </iron-collapse>
</paper-material>

</template>

<script>

Polymer({
    is: "card-element",
    properties: {
        opened: {
            type: Boolean,
            value: false
        },
        fach: {
            type: String,
            value: "u-oh an Error"
        },
        content: {
            type: String,
            value: "u-oh an Error"
        }
    },
    toggleCollapse: function() {
        if(this.opened) {
            this.$.collapse.hide();
            this.$.card.elevation = "2";
            this.opened = false;
        }
        else {
            this.$.collapse.show();
            this.$.card.elevation = "5";
            this.opened = true;
        }
    },
    ready: function() {
        var date = new Date(this.datum);
        this.convertedDate = date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear();
    }
});

</script>

</dom-module>

#内容包装器{
填充:10px 15px;
}
#工具栏{
--纸张工具栏背景:#607D8B;
--图纸工具栏:{
字体大小:125%;
不透明度:0.9;
};
}
.maxWidth{
宽度:100%;
}
{{convertedDate}{{fach}}
{{content}}
聚合物({
是:“卡元素”,
特性:{
打开:{
类型:布尔型,
值:false
},
法赫:{
类型:字符串,
值:“u-oh错误”
},
内容:{
类型:字符串,
值:“u-oh错误”
}
},
toggleCollapse:function(){
如果(本文件已打开){
这是。$.collapse.hide();
此.$.card.elevation=“2”;
this.opened=false;
}
否则{
这是。$.collapse.show();
此.$.card.elevation=“5”;
this.opened=true;
}
},
就绪:函数(){
var日期=新日期(此数据);
this.convertedDate=date.getDate()+“+”(date.getMonth()+1)+“+”+date.getFullYear();
}
});

不允许使用html

但你可以做到

<dom-module id="html-echo">
  <style>
    :host {
      display: block;
    }
  </style>
  <template>
  </template>
</dom-module>

<script>
  (function () {
    Polymer({
      is: 'html-echo',
      properties: {
        html: {
          type: String,
          observer: '_htmlChanged'
        }
      },
      _htmlChanged: function (neo) {
        // WARNING: potential XSS vulnerability if `html` comes from an untrusted source
        this.innerHTML = neo;
      }
    });
  })();
</script>

:主持人{
显示:块;
}
(功能(){
聚合物({
是:“html echo”,
特性:{
html:{
类型:字符串,
观察者:“\u htmlChanged”
}
},
_htmlChanged:函数(neo){
//警告:如果“html”来自不受信任的源,则可能存在XSS漏洞
this.innerHTML=neo;
}
});
})();

<html-echo html="[[htmlText]]"></html-echo>

不允许使用html

但你可以做到

<dom-module id="html-echo">
  <style>
    :host {
      display: block;
    }
  </style>
  <template>
  </template>
</dom-module>

<script>
  (function () {
    Polymer({
      is: 'html-echo',
      properties: {
        html: {
          type: String,
          observer: '_htmlChanged'
        }
      },
      _htmlChanged: function (neo) {
        // WARNING: potential XSS vulnerability if `html` comes from an untrusted source
        this.innerHTML = neo;
      }
    });
  })();
</script>

:主持人{
显示:块;
}
(功能(){
聚合物({
是:“html echo”,
特性:{
html:{
类型:字符串,
观察者:“\u htmlChanged”
}
},
_htmlChanged:函数(neo){
//警告:如果“html”来自不受信任的源,则可能存在XSS漏洞
this.innerHTML=neo;
}
});
})();

<html-echo html="[[htmlText]]"></html-echo>