Dart 绑定包含html标记的内容
如何在聚合元素中显示包含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
)的内容,如:
{{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版本。该源代码位于