0

我正在尝试使用 ng-hide 在网站主页的顶部导航栏中不显示后退按钮。这是按钮的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 有一些样式显示:块它可能与 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在您的函数中添加 ashowBackButton并验证 $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 回答