方法1. ng-ifを使ってNULL と IS NOT NULL判定(ng-ifを2つ書く)
複雑怪奇なコードになりやすいので、微妙だが、実装が一番容易
<div ng-if="!test.view">1</div>
<div ng-if="!!test.view">2</div>
解説
if-elseを書きたいところだけれど、ng-ifではelseがないので、条件が真になるパターンと偽になるパターンをあえて書く。
二重否定(!!)で真の時の条件式、否定での偽の時のパターン
参照: javascript - how to check for null with a ng-if values in a view with angularjs? - Stack Overflow : http://stackoverflow.com/questions/23556092/how-to-check-for-null-with-a-ng-if-values-in-a-view-with-angularjs
方法2. ng-clickの中に処理を仕込んでng-hrefの参照先を切り替える。
多分、正攻法
<a ng-href='{{link}}' ng-click='test(type);'> your link </a>
$scope.$watch('m', function(value){
$scope.link = value ? 'link1': 'link2';
})
参照 javascript - AngularJs if statement in ng-href - Stack Overflow : http://stackoverflow.com/questions/29888624/angularjs-if-statement-in-ng-href
方法3. ng-href内で三項演算子を書く
方法1よりはマシ
複雑な条件判定式を書こうとすると複雑怪奇なコードを生む可能性が高い
<a ng-href='{{(element.url.indexOf("#")>-1) ? element.url : element.url + "client_id="}}{{credible.current_client_info.client_id}}'>{{element.title}}</a>
最後に一言言わせて欲しい
Qiitaに下書きかいて2年も放置していたので、ずいぶん古いネタになってしまった。
が、せっかく書いていたので公開して、残しておこうと思う。
Angular聞かなくなったね…
おしまい