0

場合:AngularJSオープンリンク私はAngularJSのhref内であれば条件を確認したい条件

condが真または偽可能な状態であり、この条件がある場合は、リンクのみopenendされなければならない
<a class="button button-block" href="if(cond){#/app/abc}else{nothing}" ng-click="doSomething()">Suchen</a> 

フルフィルされた。

これが可能かどうか知っていますか?

+0

はいもちろんng-ifを使用してください – Vodet

+0

よりkあなたのために;) – FranzHuber23

答えて

3

condがtrueのときにURLを使用してhrefを作成すると、次のようになります。そうでないと、どこにもリダイレクトされないブランクhrefが作成されます。

ng-href="{{cond? '#/app/abc': ''}}" 

そうでない場合はリダイレクトに$location.path('#/app/abc')OR$state.goの助けを借りてng-clickさんdoSomething関数自体(あなたが使用しているルータエンジンに依存)からロジックをリダイレクトするアンカータグからhrefを削除し、取り扱いありません。

+1

あなたが$ state.go( 'abc.def')で言ったように私はそれを知っていました。ここに記載されているようなコントローラのjavascriptファイル内[Angular state.go](https://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state) – FranzHuber23

+0

@ FranzHuber23あなたが 'ui-router'を使っているなら' $ state.go'を使うのは絶対にうまいです –

+0

はい、私はui-routerを使っています。 – FranzHuber23

1

がNG-場合は、このオプションの下に使用することができます

<div ng-if="cond" ng-show="cond"> 
    <a class="button button-block" href="#/app/abc" ng-click="doSomething()" ng-model="cond">Suchen</a> 
</div> 
<a class="button button-block" href="nothing" ng-click="doSomething()" ng-hide="cond" ng-model="cond">abc</a> 

JSを使用して期待どおりの結果を達成するために:

var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.cond='sai';// comment to see abc link with href= nothing and uncomment to show href with mentioned path 
}); 

が違いを示すために、私が使用している別のnames- SuchenとABC

Codepen- http://codepen.io/nagasai/pen/NrRoay

関連する問題