0

ng-hide を使用して、Web サイトのホームページのトップ ナビゲーション バーに戻るボタンを表示しないようにしています。ボタン用のhtmlは次のとおりです。

<button type="button" class="navbar-back my-hidden-sm my-hidden-md my-hidden-lg" ng-   hide="false" ng-click="back()"><span class="glyphicon glyphicon-arrow-left"></span>
</button>

コントローラーでは、false を次のように定義しようとしました。

$scope.showBackButton = function() {
  if ($location.path() === '/') {
      return false;
  } else {
      return true;
  }
};

何らかの理由で、戻るボタンがホームページや他のページに表示されたままになっています。また、Bootstrap 3 では相反するスタイルになる可能性もありますが、ここで質問して、アイデアがあるかどうかを確認したいと思いました。私はAngular JSとJS全般に非常に慣れていませんが、昨日誰かに助けてもらいましたが、ここで定義したホームページに表示されないようにすることはできませんでした:

$scope.homeLandingPage = '/';
if ($scope.buyer) {
  $scope.homeLandingPage = '/buyerhome';
} else if ($scope.seller) {
  $scope.homeLandingPage = '/sellerhome';
}

ご提案ありがとうございます。Bootstrap 3 に display:block のスタイルが設定されている場合、ng-hide と競合する可能性があると言っているのに出くわしましたが、それ以外のことをしているコードには何も見つかりませんでした。

div {
display: block;
} 

これは、Chrome 開発ツールでユーザー エージェント スタイルシートとして表示されます

ありがとうございました、

トレバー

4

2 に答える 2

1

これを試しましたか:

<button type="button" class="navbar-back my-hidden-sm my-hidden-md my-hidden-lg" ng-hide="showBackButton()" ng-click="back()"><span class="glyphicon glyphicon-arrow-left"></span>
</button>

編集:

console.log関数に aを追加し、showBackButton$location.path() が期待どおりであること (この場合は '/') であること、および関数が最初に呼び出されているかどうかを確認します。

$scope.showBackButton = function() {
  console.log($location.path());
  if ($location.path() === '/') {
      return false;
  } else {
      return true;
  }
};
于 2014-05-20T17:30:49.453 に答える
0

ボタンを非表示にするには、ng-hide="true"またはを使用する必要があります。ng-show="false"二重否定があるため、設定した場合ng-hide="false"でもボタンは表示されます。

関数を使用できますng-show="showBackButton()"

于 2014-05-20T17:30:45.917 に答える