我正在开发一个AngularJS应用程序。我正在尝试在运行时将autofocus属性添加到元素。我想这样做的原因是我可以在几个元素之一上设置这个属性。如何通过AngularJS指令向元素添加HTML属性?
谢谢!
答案 0 :(得分:1)
您可以在$compile.directive.Attributes
对象上使用$ set方法。请参阅文档here。这将创建一个AngularJS将识别的新属性。请记住使用属性的规范化(camelCase)版本。您可以在指令的链接功能中执行此操作。
答案 1 :(得分:0)
该指令:
(function(){
angular.module('ng').directive('dynamicAutoFocus', function(){
return {
restrict: 'A',
link: function(scope, element, attrs){
scope.$watch(attrs.dynamicAutoFocus, function(id){
if(angular.isDefined(id)){
var target = document.getElementById(id);
if(target){
target.focus();
}
}
});
}
};
});
})();