javascript - How to change text in this case using ng-if or other expression? -
i'm trying change text in title tag based on tag
's direction
value:
<li ng-repeat="t in tags"> <div class="tag" ng-class="{'green-up': t.direction == 'positive', 'red-down': t.direction == 'negative', '' : t.direction == 'stagnant'}" title="percentage increase" ng-if="">{{t.name}}</div> </li>
the direction either positive
, negative
or stagnant
, should correspond title="percentage increase"
title="percentage decrease"
or title="percentage"
what angular syntax best used in case?
why not set tag settings object
$scope.taginfo = { positive:{ class:"green-up", title:"percentage increase" }, negative:{ class:"red-down", title:"percentage decrease" } }
and call in ng-repeat
<div class="tag" ng-class="taginfo[t.direction].class" title="{{taginfo[t.direction].title}}">{{t.name}}</div>
if absolutely positively must use conditional clause rather mapping lookup, call method f.e title="{{gettitle(t.direction)}}
$scope.gettitle = function(direction) { if (direction==="positive") { return "increase"; } else if (direction==="negative") { return "decrease"; } };
i don't see point @ of doing though. contributes making code messier.
Comments
Post a Comment