Dart 绑定包含html标记的内容

Dart 绑定包含html标记的内容,dart,dart-polymer,Dart,Dart Polymer,如何在聚合元素中显示包含html标记(如)的内容,如: {{mylongtext}} @CustomTag(“我的元素”) 类MyElement扩展了聚合关系{ @可观察字符串mylongtext=“bla-blabla-blabla”; } 目前,这些标记显示为文本。这是在web ui中,但在中,因此尚未在中。其想法是创建一个安全的html元素: {{bindsafethtmlhere} 这是在web ui中,但在中,因此也不在中。其想法是创建一个安全的html元素: {{bindsaf

如何在聚合元素中显示包含html标记(如

)的内容,如:


{{mylongtext}}
@CustomTag(“我的元素”)
类MyElement扩展了聚合关系{
@可观察字符串mylongtext=“bla-bla
bla-blabla”; }

目前,这些标记显示为文本。

这是在web ui中,但在中,因此尚未在中。其想法是创建一个安全的html元素:

{{bindsafethtmlhere}

这是在web ui中,但在中,因此也不在中。其想法是创建一个安全的html元素:

{{bindsafethtmlhere}

正如您所提到的,
mylongtext
只是作为字符串显示,它不是一个特定的元素,甚至不是标记。然而,我们可以做的是,当我们的可观测值发生变化时,自动调用函数。在回调中,我们创建了一个基于字符串内容的函数,然后将其插入到div容器中


@CustomTag(“我的元素”)
类MyElement扩展了聚合关系{
@可观察字符串mylongtext=“bla-bla
bla-blabla”; MyElement(){ //将属性更改绑定到mylongtext可观察字符串,并 onPropertyChange(此,#mylongtext,addFragment); } //需要在插入时执行此操作,以确保添加初始值。 插入空格(){ super.inserted(); addFragment(); } void addFragment(){ var df=new DocumentFragment.html(mylongtext); //在中,清除容器中的所有内容并添加新片段 $['container'].nodes..clear()…add(df); } }
请注意,自动节点查找需要Polymer dart 0.8.0或更高版本(在以前的版本中,它分别是
bindProperty
和使用
shadowRoot.query(..)


但是需要记住的一点是,使用
DocumentFragment.html()
和其他类似于html解析器的字符串是,它们需要进行清理,如中所述。

正如您所提到的,
mylongtext
仅显示为字符串,它不是特定的元素,甚至不是标记。然而,我们可以做的是,当我们的可观测值发生变化时,自动调用函数。在回调中,我们创建了一个基于字符串内容的函数,然后将其插入到div容器中


@CustomTag(“我的元素”)
类MyElement扩展了聚合关系{
@可观察字符串mylongtext=“bla-bla
bla-blabla”; MyElement(){ //将属性更改绑定到mylongtext可观察字符串,并 onPropertyChange(此,#mylongtext,addFragment); } //需要在插入时执行此操作,以确保添加初始值。 插入空格(){ super.inserted(); addFragment(); } void addFragment(){ var df=new DocumentFragment.html(mylongtext); //在中,清除容器中的所有内容并添加新片段 $['container'].nodes..clear()…add(df); } }
请注意,自动节点查找需要Polymer dart 0.8.0或更高版本(在以前的版本中,它分别是
bindProperty
和使用
shadowRoot.query(..)


但是,需要记住的一点是,使用
DocumentFragment.html()
和其他类似的字符串到html解析器时,它们会受到清理,如中所述。

这仍然有效。我创建了这种元素的Polymer 1.0版本。源代码位于的
中,但仍然有效。我创建了这种元素的Polymer 1.0版本。该源代码位于