gpt4 book ai didi

javascript - 非规范化属性值 - 将驼峰式值转换为短划线分隔值

转载 作者:行者123 更新时间:2023-11-28 06:43:27 25 4
gpt4 key购买 nike

我正在 angularjs 中创建一个指令。在 link 中,我尝试使用 attrs 获取属性。它们都被标准化为驼峰形式。但我想将它们重新插入到其他元素中。所以我想将驼峰命名的值转换为破折号分隔的值。即非规范化值。 Angular js 有没有简单的方法来做到这一点。

module.directive('myDirective', function(){
return {
'link': function(scope, element, attr, controller){
....
var newElement = jQuery("<div></div>");
for(var key in attr){
newElement.attr(attr[key]); // !newElement will not keep dashes in attribute
// i.e. dashes will be removed from attributes
}
}
};
});

我可以将破折​​号分隔的值规范化为驼峰命名的值,但是我应该怎么做才能将它们非规范化。
所以这里我的实际问题是保留属性中的破折号

最佳答案

$attr里面attr$attr包含有关原始属性名称和规范化的信息,因此当您具有规范化的属性名称时 - 您可以通过 attr.$attr[normalisedAttrName] 访问原始名称.

不要忘记简单的检查

if (key.charAt(0) == '$' || attr.hasOwnProperty(key)) { continue; }

举个例子:

...
for(var key in attr){
newElement.attr(attr.$attr[key], attr[key]);
}
...

关于javascript - 非规范化属性值 - 将驼峰式值转换为短划线分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33592387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com