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

N. *_* I. 5 attributes wai-aria angularjs

aria-current仅当锚点href等于当前窗口路径时,我才尝试在锚点中创建属性。基本上,我希望aria-current="page"如果相关锚点href与视图路径中的窗口相等。aria-current如果相关锚点不等于href视图路径中的窗口,我不想创建属性。

有没有办法编写内联条件语句来在 AngularJS (Angular1) 中创建或不创建属性?

enn*_*oid 2

我认为没有“内联方式”来执行此操作,但对于这种情况,您可以创建一个指令

这是一个例子:

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

HTML:

<a href="sample/path#a123" myexampleblabla>Your Anchor</a>
Run Code Online (Sandbox Code Playgroud)

请注意:此代码未经测试,但它应该会让您向前迈出几步。

对于想要在 Angular 应用程序中修改 DOM 的每种情况,您都应该创建一个指令。在此处阅读有关指令的更多信息: https ://docs.angularjs.org/guide/directive