仅当锚点href等于当前Windows路径时,我才尝试在锚点中创建aria-current属性。基本上,如果有问题的锚的href等于视图路径中的窗口,我想要aria-current="page"。如果所讨论的锚没有等于视图路径中的窗口的href,则我不想创建aria-current属性。有没有一种方法可以内联编写条件语句来在AngularJS(Angular1)中创建或不创建属性?
href
aria-current
aria-current="page"
bvhaajcl1#
我认为没有“内联方式”可以做到这一点,但对于这种情况,您可以创建一条指令下面是一个例子:
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:
<a href="sample/path#a123" myexampleblabla>Your Anchor</a>
请注意:这段代码尚未经过测试,但它应该会让您向前迈进几步。对于想要在ANGLE应用程序中修改DOM的每种情况,都应该创建一条指令。在此处阅读有关指令的更多信息:https://docs.angularjs.org/guide/directive
nzk0hqpo2#
解决方案:使用ng-attr有条件地创建内联属性。例如<div ng-attr-alt="{{<conditional statement> ? '<value to set attr to if true>' : undefined }}"如果条件语句的计算结果不为真,则不会创建该属性,未定义的值将设置该值。
ng-attr
<div ng-attr-alt="{{<conditional statement> ? '<value to set attr to if true>' : undefined }}"
z0qdvdin3#
Angularjs的解决方案使用以下代码绑定您的标题标题=“{{条件==真?‘非活动’:‘活动’}}”
title="{{item.IsStatus ? 'Inactive' : 'Active'}}"
3条答案
按热度按时间bvhaajcl1#
我认为没有“内联方式”可以做到这一点,但对于这种情况,您可以创建一条指令
下面是一个例子:
Html:
请注意:这段代码尚未经过测试,但它应该会让您向前迈进几步。
对于想要在ANGLE应用程序中修改DOM的每种情况,都应该创建一条指令。在此处阅读有关指令的更多信息:https://docs.angularjs.org/guide/directive
nzk0hqpo2#
解决方案:使用
ng-attr
有条件地创建内联属性。例如
<div ng-attr-alt="{{<conditional statement> ? '<value to set attr to if true>' : undefined }}"
如果条件语句的计算结果不为真,则不会创建该属性,未定义的值将设置该值。
z0qdvdin3#
Angularjs的解决方案
使用以下代码绑定您的标题
标题=“{{条件==真?‘非活动’:‘活动’}}”