Угловой JS: «это» внутри функции нг-если

0

Может кто-нибудь помочь мне со следующим вопросом:

как я могу получить доступ к этому элементу внутри ng-if. (в моем примере classname " class_to_obtain " элемента span)

http://plnkr.co/edit/0s7PCWN2fJ8sJpFSJssV

HTML

<style>

.red
  {
    color:red;
  }

</style>

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-route.js"></script>
    <script src="script.js"></script>
</head>

<body ng-app="demoApp">
    <div ng-controller="testCntr">
      <span class="class_to_obtain" ng-if="test()">Test</span>
    </div>



</body>


<script>

demoApp = angular.module('demoApp',[]);

demoApp.controller('testCntr', function ($scope) 
  {
  $scope.test = function()
    {
      alert(this.className);



    }

});
</script>

</html> 
  • 0
    Я думаю, this будет глобальным на null по умолчанию. Вы можете привязать функцию к любому предопределенному объекту. Но я не могу представить себе веской причины получить this из функции, определенной в $scope . Вы бы лучше использовали controllerAs синтаксис.
  • 0
    Это должно быть нг-если? Вы можете легко сделать это с помощью нг-клика
Теги:

1 ответ

0

вы можете использовать $ element. Демо-ссылка

Код JS:

<script>

demoApp = angular.module('demoApp',[]);

demoApp.controller('testCntr', function ($scope,$element) 
  {
  $scope.test = function()
    {

      var result = document.getElementsByClassName("multi-files");
     // alert(this.className);
      console.log($scope);
 console.log($element.className);



    }

});
</script>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню