如何从字符串中读取HTML结构并将属性值映射到angular2中的局部变量
我从数据库中检索了一个HTML标记,其中包含一些属性。 举例说明: 我的HTML字符串如下所示:如何从字符串中读取HTML结构并将属性值映射到angular2中的局部变量,html,html-parsing,angular2-services,angular2-directives,Html,Html Parsing,Angular2 Services,Angular2 Directives,我从数据库中检索了一个HTML标记,其中包含一些属性。 举例说明: 我的HTML字符串如下所示: <CoinsNotesSelector items='0.05,0.1,0.2,0.5,1' label='Available coins' mode='Select'></CoinsNotesSelector> 现在,通过读取/解析这个标记,我想要项、标签和模式的值 是否有可用于解析自定义HTML标记的内容。如果您的代码中有HTML元素,并且只想读取属性,则可
<CoinsNotesSelector items='0.05,0.1,0.2,0.5,1' label='Available coins' mode='Select'></CoinsNotesSelector>
现在,通过读取/解析这个标记,我想要项、标签和模式的值
是否有可用于解析自定义HTML标记的内容。如果您的代码中有HTML元素,并且只想读取属性,则可以使用简单的vanilla javascript方法:
var rawItems = document.getElementsByTagName("CoinsNotesSelector")[0].getAttribute("items");
var items = rawItems.split(",");
console.log("my items",items);
您可以在getAttribute(attributeName)
中更改attributeName
以获得标签和模式等其他属性
对于你提出的问题,没有必要做任何有角度的事情。
但是,您可以在angular 2中创建自己的组件,并使用@Input()
-decorator直接读取项目
编辑
在进一步了解了这个问题之后,html似乎是一个原始字符串
可以使用正则表达式提取项
函数myFunction(){
var str=“”;
var myRegExpItems=/items='([\.\,0-9]+)'/g;
var myRegExpLabel=/label='([\a-zA-Z0-9]+)'/g;
var match=myRegExpItems.exec(str);
document.getElementById(“myItems”).innerHTML=match[1];
log(“匹配”,匹配[1]。拆分(“,”);
match=myRegExpLabel.exec(str);
document.getElementById(“myLabel”).innerHTML=match[1];
}
运行
项目:
标签:
你能把你的硬币贴在电子元件上吗?你可以从那里得到你的价值观。另外,看看《角》中的英雄教程,了解更多关于角度2Hi的约翰,CoNoNoSQL选择器只是一个自定义标签,它不是一个组件,你可以把它看作是“XML”标签,我只想在这个标签中读取并获取属性的值。谢谢约翰,这是有帮助的,但是正如我在这个问题中提到的一样。我的HTML是一个字符串(基本上其他一些系统使用HTML编辑器将其创建为用户输入,存储在DB中,我从DB中检索)。我也在做类似的事情,只是diff代替了document,我试图使用字符串,但它不起作用。这就是我发布这个问题的原因,如果我们有任何选择来读取属性值的HTML/XML标记。