Angularjs 如何将camelCase属性名称转换为angular';s虚线格属性

Angularjs 如何将camelCase属性名称转换为angular';s虚线格属性,angularjs,dom,attributes,Angularjs,Dom,Attributes,我有一个自定义Angular服务,它使用Angular.element()创建一个自定义DOM节点。同时,由于我还希望元素具有一组预定义属性,因此我将JS对象作为第二个参数传递给函数: var element = angular.element('<node-name />', { class: "some css class", onclick: "someClickHandler()" }); 它将始终导致DOM节点为: <node-name ngclick=

我有一个自定义Angular服务,它使用
Angular.element()
创建一个自定义DOM节点。同时,由于我还希望元素具有一组预定义属性,因此我将JS对象作为第二个参数传递给函数:

var element = angular.element('<node-name />', {
   class: "some css class",
   onclick: "someClickHandler()"
});
它将始终导致DOM节点为:

<node-name ngclick="someClickHandler"></node-name>

这不符合角度

那么,有没有办法将驼峰大小写属性转换为DOM中的等效虚线大小写?


任何帮助都将不胜感激。

从camelCase转换为snake case并不需要任何额外的代码(尽管您可以)。如果确实需要,最好首先使用snake大小写,只需确保将属性名称放在引号中,否则名称不是有效标识符:

var element = angular.element('<node-name />', {
    'ng-click': 'someClickHandler'
});
var元素=角度元素(“”{
“ng click”:“someClickHandler”
});

从camelCase转换为snake-case实际上不需要任何额外的代码(尽管可以)。如果确实需要,最好首先使用snake大小写,只需确保将属性名称放在引号中,否则名称不是有效标识符:

var element = angular.element('<node-name />', {
    'ng-click': 'someClickHandler'
});
var元素=角度元素(“”{
“ng click”:“someClickHandler”
});

根本没有注意到将密钥用引号括起来。:)根本没有注意到将密钥用引号括起来。:)