нг-шоу, нг-скрыть не работает за пределами контроллера - PullRequest
0 голосов
/ 21 декабря 2018

у меня есть буксир див.один - добавить , а другой - просмотр .любой div показывает одновременно.моя кнопка добавления находится вне контроллера.

     <input id="Button1" type="button" value="Add" onclick="AddClick()" />
 <div ng-app="myApp" ng-controller="csrControl" ng-init="viewdiv=true">
     <div id="view" ng-show="viewdiv">
         view
     </div>
     <div id="add" ng-hide="viewdiv">
        Add
     </div>
 </div>

Здесь я внешне вызвал контроллер и присвоил переменной объема значение false.переменная установлена ​​в false, но элемент не может скрыть и показать .ng-show и ng-hide не работают

function AddClick() {
       var $scope = 'div[ng-controller="csrControl"]';
       $scope.viewdiv = 'false';
       $scope.$apply();
    }

1 Ответ

0 голосов
/ 21 декабря 2018

Вот что я изменил, чтобы заставить его работать:

  • Поместите ng-app="myApp" ng-controller="csrControl" в тело.
  • Переместите ng-init="viewdiv=true" в $scope.viewdiv = true;.

и много мелочей.Проверьте это.

angular.module('myApp', ['myApp.controllers']);

angular.module('myApp.controllers', []).controller('csrControl', [
  '$scope', function($scope){
    $scope.viewdiv = true;
    $scope.addClick = function() {
       $scope.viewdiv = false;
    }
  }
]);
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="csrControl">
<input id="Button1" type="button" value="Add" ng-click="addClick()" />
 <div>
     <div id="view" ng-show="viewdiv">
         view
     </div>
     <div id="add" ng-hide="viewdiv">
        Add
     </div>
 </div>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...