Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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 Angular 2如何使用camelCase处理属性_Javascript_Angular - Fatal编程技术网

Javascript Angular 2如何使用camelCase处理属性

Javascript Angular 2如何使用camelCase处理属性,javascript,angular,Javascript,Angular,我一直在做一个web组件的pet项目。我正在试验自己的数据绑定库。到目前为止,我成功地创建了angular 2模板、if、for、类和web组件的数据输入通常使用的所有基本功能。到目前为止,我遇到的一个限制是浏览器将html属性名称规范化为小写 因此,当您使用以下命令时: var attribute = element.getAttribute(attributeName); 我将在attribute.nodeName中接收原始的attribute.nodeValue。这意味着我当前的语法不是

我一直在做一个web组件的pet项目。我正在试验自己的数据绑定库。到目前为止,我成功地创建了angular 2模板、if、for、类和web组件的数据输入通常使用的所有基本功能。到目前为止,我遇到的一个限制是浏览器将html属性名称规范化为小写

因此,当您使用以下命令时:

var attribute = element.getAttribute(attributeName);
我将在
attribute.nodeName
中接收原始的
attribute.nodeValue
。这意味着我当前的语法不是最好的,因为我使用属性值来存储原始大小写中的源属性名

p-data=“mockDataProp,customInput”

我想要这样的

(mockDataProp)=“customInput”

但是我在
nodeName
属性中得到的是
mockdataprop
。到目前为止,我唯一的想法是使用类似于AngularJS的属性规范化。从烤肉串到骆驼肉串。另一种方法是在
innerHTML
和regex上使用包装器。。。我怀疑这并不明智


有什么想法吗?

我不确定它的角度有多大,但我知道属性总是小写的。尝试使用类似于
el.innerHTML='b'的东西
el.setAttribute('myAttr','true')和属性将转换为小写

许多库所做的是将虚线大小写转换为驼峰大小写,以便获得大写属性名称。所以
'my-attr'
将变成
'myAttr'
'inner-h-t-m-l'
变成
'innerHTML'

下面是一个从虚线大小写转换为驼峰大小写的简单例程:
你是否考虑使用Entata.DataSet?看起来很有趣,我将读更多关于DataSet的内容,并且我会带着答案回来。