如何在AngularJS中有条件地创建属性

如何在AngularJS中有条件地创建属性,angularjs,attributes,wai-aria,Angularjs,Attributes,Wai Aria,只有当锚href等于当前windows路径时,我才尝试在锚中创建aria current属性。基本上,我想要aria current=“page”如果所讨论的锚具有与视图路径中的窗口相同的href。如果所讨论的锚点没有与视图路径中的窗口相同的href,我不想创建aria current属性 有没有一种方法可以内联编写条件语句,在AngularJS(Angular1)中创建或不创建属性?我认为没有“内联方法”可以做到这一点,但在这种情况下,您可以创建一个指令 这里有一个例子: yourmodule

只有当锚
href
等于当前windows路径时,我才尝试在锚中创建
aria current
属性。基本上,我想要
aria current=“page”
如果所讨论的锚具有与视图路径中的窗口相同的
href
。如果所讨论的锚点没有与视图路径中的窗口相同的
href
,我不想创建
aria current
属性

有没有一种方法可以内联编写条件语句,在AngularJS(Angular1)中创建或不创建属性?

我认为没有“内联方法”可以做到这一点,但在这种情况下,您可以创建一个指令

这里有一个例子:

yourmodule.directive('myexampleblabla', function() {
  return {
    link: function(scope, elem, attr) { 
        if(elem.attr('href') === windows.location.href){
            elem.attr('aria-current', true)
        }
    },
    restrict: 'E',
  };
});
HTML:


请注意:这段代码未经测试,但它应该会让您向前迈进几步

对于要在angular应用程序中修改DOM的每种情况,都应该创建一个指令。请在此处阅读有关指令的更多信息:

解决方案:使用
ng attr
有条件地内联创建属性

例如

<a href="sample/path#a123" myexampleblabla>Your Anchor</a>