如何将驼峰式属性名称转换为 angular 的虚线式属性
How to convert camelCase attribute name to angular's dashed-case attrubute
我有一个自定义 Angular 服务,它使用 angular.element()
创建一个自定义 DOM 节点。同时,由于我还希望元素具有一组预定义的属性,因此我将 JS 对象作为第二个参数传递给函数:
var element = angular.element('<node-name />', {
class: "some css class",
onclick: "someClickHandler()"
});
虽然这可以正常工作,因为属性不是特定于 Angular。
问题是我无法生成 Angular-like dashed-case (不知道他们的真实姓名是什么) 属性(例如ng-click
)。
现在,如果我这样做:
var element = angular.element('<node-name />', {ngClick: 'someClickHandler'}); // ng-click here is definitely not possible as it leads to a syntax error
它将始终导致 DOM 节点为:
<node-name ngclick="someClickHandler"></node-name>
这与 Angular 方式不同。
那么,在 DOM?
如有任何帮助,我们将不胜感激。
您实际上不需要任何额外的代码即可将驼峰式转换为蛇形式(尽管您可以)。如果你真的想要,最好首先使用 snake-case,只需确保将 属性 名称放在引号中,否则名称不是有效标识符:
var element = angular.element('<node-name />', {
'ng-click': 'someClickHandler'
});
我有一个自定义 Angular 服务,它使用 angular.element()
创建一个自定义 DOM 节点。同时,由于我还希望元素具有一组预定义的属性,因此我将 JS 对象作为第二个参数传递给函数:
var element = angular.element('<node-name />', {
class: "some css class",
onclick: "someClickHandler()"
});
虽然这可以正常工作,因为属性不是特定于 Angular。
问题是我无法生成 Angular-like dashed-case (不知道他们的真实姓名是什么) 属性(例如ng-click
)。
现在,如果我这样做:
var element = angular.element('<node-name />', {ngClick: 'someClickHandler'}); // ng-click here is definitely not possible as it leads to a syntax error
它将始终导致 DOM 节点为:
<node-name ngclick="someClickHandler"></node-name>
这与 Angular 方式不同。
那么,在 DOM?
如有任何帮助,我们将不胜感激。
您实际上不需要任何额外的代码即可将驼峰式转换为蛇形式(尽管您可以)。如果你真的想要,最好首先使用 snake-case,只需确保将 属性 名称放在引号中,否则名称不是有效标识符:
var element = angular.element('<node-name />', {
'ng-click': 'someClickHandler'
});