Как в angularjs писать код на чистом JS

103
13 апреля 2021, 08:50

Есть такая директива

    app.directive('curSor', function () {
    return {
        restrict: "E",
        template: '<div class="cursor-child"></div>',
        link: function (scope, element, attr) {
            const win = angular.element(window);
            const elem = angular.element(element);
            ///////////////////////////////////////////////////////////
            win.on('click', ()=>{
                elem.children().addClass('cursor-child-active');
                setTimeout(()=>{
                    elem.children().removeClass('cursor-child-active');
                },200);
            });
            ///////////////////////////////////////////////////////////
            win.on('mousemove', function(e){
                elem.css({
                    "top":e.pageY  - "2" +"px",
                    "left":e.pageX  - "2" +"px"
                });
            });
        }
    }
});

Когда писал этот пример, у меня не получилось написать его на чистом JS.

К примеру

window.addEventListener('click', () => { 
  console.log('win'); 
})

Angularjs выдает ошибку, что мол такой функции addEventListener не существует.

Вопросы...

Можно ли в AnguarJS писать код на чистом JS?

И стоит ли это вообще делать?

P.S. Нет желание глубоко изучать JQ...)))

Нерабочий пример...

const app = angular.module('app', []); 
 
app.directive('curSor', function() { 
  return { 
    restrict: "E", 
    template: '<div class="cursor-child">CursorChild</div>', 
    link: function(scope, element, attr) { 
      const win = angular.element(window); 
      const elem = angular.element(element); 
      //elem.children().classList.add('cursor-child-active'); 
      win.addEventListener('click', () => { 
        console.log('win'); 
      }) 
    } 
  } 
});
<html ng-app="app"> 
 
<head> 
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script> 
</head> 
 
<body> 
  <cur-sor></cur-sor> 
</body> 
 
</html>

Помогите понять до конца Angularjs как верно и грамотно на нем писать? Осознаю, что последний вопрос слишком глобальный...

Answer 1
win.addEventListener('click', () => {
window.addEventListener('click', () => {
win.on('click', () => {
READ ALSO
Как получить children из this (не jQuery)

Как получить children из this (не jQuery)

Как получить детей из this(не jQuery) this

122
Деструктуризация массива в JavaScript

Деструктуризация массива в JavaScript

Изучаю деструктуризацию в JavaScriptМожно вытащить четные элементы из массива так

107
Как зафиксировать сайт при открытии меню на Safari

Как зафиксировать сайт при открытии меню на Safari

Всем приветУ меня есть сайт, который делаю

73
Есть ли возможность скрыть элементы, которые находятся за объектом?

Есть ли возможность скрыть элементы, которые находятся за объектом?

У меня есть header прозрачныйКогда я прокручиваяю страницу я хочу скрыть элементы, которые находятся за header

93