Может кто-нибудь помочь мне со следующим вопросом:
как я могу получить доступ к этому элементу внутри 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>
вы можете использовать $ 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>
this
будет глобальным наnull
по умолчанию. Вы можете привязать функцию к любому предопределенному объекту. Но я не могу представить себе веской причины получитьthis
из функции, определенной в$scope
. Вы бы лучше использовалиcontrollerAs
синтаксис.