如果条件,AngularJS打开链接

时间:2016-06-20 19:35:40

标签: javascript android angularjs ionic-framework cross-platform

我想检查AngularJS中href内的if条件:

class AccessTokenController < Doorkeeper::TokensController

  # Overriding create action
  # POST /oauth/token
  def create
    response = strategy.authorize
    body = response.body

    if response.status == :ok
      # Return user id
      body[:id] = response.token.resource_owner_id unless nil
    end

    self.headers.merge! response.headers
    self.response_body = body.to_json
    self.status        = response.status

  rescue Doorkeeper::Errors::DoorkeeperError => e
    handle_token_exception e
  end
end

其中cond是一个可以为true或false的条件,只有在满足此条件时才能打开链接。

是否有人知道这是否可行,如果是,如何?

2 个答案:

答案 0 :(得分:3)

cond为true时,您可以使用以下内容创建带有URL的href,否则会创建一个空白href,不会重定向到任何地方。

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

否则请从锚标记中删除href,并在ng-click 的帮助下处理doSomething $location.path('#/app/abc')函数本身的重定向逻辑 $state.go(取决于您使用的路由器引擎)进行重定向。

答案 1 :(得分:1)

要使用ng-if获得预期结果,您可以使用以下选项

<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
});

为了显示差异,我使用了不同的名字 - Suchen和abc

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