Ng-hide не работает при использовании вместе тегов <div> - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь скрыть переключатели, используя функции ng-hide.Я сталкиваюсь со странной проблемой.

Когда я использую оба ng-hide supplierAdminLogs и BuyerAdminLogs в тегах div, как показано в html-коде ниже, обе мои кнопки переключаются вместо одной из кнопоких.

Но когда я удаляю один из тегов ng-hide в div, другой тег тега ng-hide отлично работает, скрывая переключатель.Заранее спасибо.

$scope.supplierAdminLogs = function() { // Hiding supplier/ buyer radio buttons on current user login role. 
  return true;
};
$scope.buyerAdminLogs = function() {
  return true;
};

$scope.adminRole = function() {

  var currentUser;
  if (localStorage.getItem("currentUser") !== null) {

    currentUser = JSON.parse(localStorage.getItem("currentUser"));
    console.log("Received", currentUser);
  } else {
    console.log("Not received");
  }
  if (currentUser[0].role == "Supplier-Admin") {
    $scope.newUser.company = currentUser[0].company;

    $scope.supplierAdminLogs(); //CALLING THE FUNCTION HERE

    return false;
  } else if (currentUser[0].role == "Buyer-Admin") {
    $scope.newUser.company = currentUser[0].company;

    $scope.buyerAdminLogs(); //CALLING THE FUNCTION HERE

    return false;
  }
};
<div class="form-group">
  <label class="control-label col-sm-2">Role</label>

  <div>

    <div ng-hide="buyerAdminLogs()">
      <input type="radio" name="addRole" 
      ng-model="newUser.role" 
      ng-required="true" value="Supplier-Admin"> 
      Supplier-Admin <br />
    </div>

    <div ng-hide="supplierAdminLogs()">
      <input type="radio" name="addRole" 
      ng-model="newUser.role" 
      ng-required="true" value="Buyer-Admin"> 
      Buyer-Admin <br />
    </div>
  </div>
</div>

1 Ответ

0 голосов
/ 23 ноября 2018

Вы можете попробовать с проверкой флажка, как здесь:

  $scope.user = function(type){
    if(type === 'Supplier-Admin'){

       $scope.buyerAdminLogs = false;
    } else if (type === 'Buyer-Admin'){

       $scope.supplierAdminLogs = false;
    }
   console.log(type) 
  }

html:

 <div >
          <input type="checkbox" 
          ng-click="user('Supplier-Admin');supplierAdminLogs = true"
          ng-model="supplierAdminLogs"
          ng-required="true" ng-value="Supplier-Admin"> 
          Supplier-Admin <br />
        </div>

        <div >
          <input type="checkbox" 
          ng-click="user('Buyer-Admin');buyerAdminLogs = true"
          ng-model="buyerAdminLogs"
          ng-required="true" ng-value="Buyer-Admin"> 
          Buyer-Admin <br />
        </div>
      </div>
    </div>
    <div ng-if="buyerAdminLogs">buyerAdminLogs</div>
    <div ng-if="supplierAdminLogs">supplierAdminLogs</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...