我想检查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的条件,只有在满足此条件时才能打开链接。
是否有人知道这是否可行,如果是,如何?
答案 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