Задать вопрос
  • Как решить Uncaught TypeError: Cannot read properties of undefined (reading 'classList')?

    @kttotto
    RINCODE,
    и элементы не успевали подгружаться

    На момент чтения, элементов в ДОМ не было. Другой причины быть не может при такой ошибке. Поэтому не понимаю, зачем Вы этот скрин приложили.
  • Почему рекурсия начинает идти в обратную сторону?

    @kttotto
    На 6-ой строке Вы вызываете функцию getFactorial, но из нее когда то же выход будет, а значит следом за ней отработает следующая строка. Т.е. Вы вызвали getFactorial(2) на 6-ой строке, в какой то момент она свое дело сделала, из нее произошел выход, значит дальше будет работать строка 7.

    Еще можно так представить. Это тоже самое что у Вас, только без рекурсии.

    getFactorial3() {
        console.log(3);
        getFactorial2();
        console.log(3);
    }
    
    getFactorial2() {
        console.log(2);
        getFactorial1();
        console.log(2);
    }
    
     getFactorial1() {
        console.log(1);
    }
  • Как переквалифицироваться из программиста в аналитики?

    @kttotto
    Нет у него 10 лет опыта программирования, по крайней мере промышленного. Но даже, если просто кодить для себя, невозможно было не наткнуться на упоминания об аналитике в IT.
  • Как решить ошибку undefined' is not assignable to type 'CdkTableDataSourceInput' и почему она возникла?

    @kttotto
    Там работает потому, что компилятор, видимо, не так строго проверяет типы. Ваш компилятор ts, видимо настроен более строже.
    Если дело только в описании типа, то попробуйте хак, по которому будет видно в этом дело или нет
    dataSource = (new MatTableDataSource([])) as any
    или вообще так
    dataSource = ((new MatTableDataSource([])) as any) as CdkTableDataSourceInput
    Попробуйте вскормить ему тот тип, который он хочет.
  • Как решить ошибку undefined' is not assignable to type 'CdkTableDataSourceInput' и почему она возникла?

    @kttotto
    Вам нужно зайти в компонент table и посмотреть какой тип имеет поле dataSource, посмотреть что за объект с какими свойствами он принимает. Тип должен совпадать, иначе компилятор будет ругаться тем сообщением, которое Вы показали. Тот dataSource, который Вы пытаетесь передать имеет тип MatTableDataSource, а судя по сообщению, он хочет CdkTableDataSourceInput.

    Я вижу в документации, что если использовать просто тег table, то должен использоваться атрибут cdk
    <table cdk-table [dataSource]="dataSource" fixedLayout>

    Либо надо делать так
    <cdk-table [dataSource]="dataSource">

    т.е здесь <table cdk-table [dataSource]="dataSource" он ждет тип CdkTableDataSourceInput, а здесь <cdk-table [dataSource]="dataSource"> MatTableDataSource
  • Ошибка при установке CSS стандартов для нового проекта на Angular?

    @kttotto
    Тигран Агинян, Ваше соединение через прокси? В тексте ошибки написано, что нужно конфигурировать свойство 'proxy'. Дальше читайте документацию по npm, как нужно его сконфигурировать.
  • Ошибка при установке CSS стандартов для нового проекта на Angular?

    @kttotto
    У Вас все написано в тексте ошибки. Не может скачать пакет, т.к. либо нет соединения сети, либо нужны настройки npm config, если Вы используете прокси.
  • Почему Angular CDK при возвращении назад через браузер убирает query параметры?

    @kttotto
    К сожалению, мне это мало дало инфы и у меня нет под рукой ангуляровского проекта, чтобы проверить, в отпуске я) Могу попробовать дать направление, можно порассуждать, что если в историю этот url попадает, значит где-то есть navigate, возможно внутри [routerLink]='item?.url' что-то отрабатывает.

    Что я точно могу сказать что ссылка, например, services/atlas/:sectCode, это не тоже самое, что services/atlas?sectCode=123. При переходе по последней роутинг пойдет по дефолту, возможно services/atlas, а там уже будет читать параметры, значит services/atlas попадет в историю. Попробуйте этот параметр поиска перенести как сегмент в url site.com/mypage/:search, сам параметр надо будет кодировать. Думаю это сработает верно. Но надо проверить, может есть какие-то доп настройки роутинга, чтобы этого лишнего перехода не было.
  • Почему ошибка Ожидалось аргументов: 3, получено: 1.?

    @kttotto
    ABCquestion, Дружище, поинтересуйся хотя бы синтаксисом языка, прежде чем писать что-то. Ты пишешь набор символов.
    const req = {
    method,
    url,
    data: body,
    params,
    headers
    };

    Так можно писать только если перед этим у тебя уже определены переменные
    const method = 'GET';
    const url = '/';
    ...

    Если сразу объект определить, то это делается по другому
    const data = {
          method: 'GET',
          url: '/code',
          params: { phone },
        };

    const res = await RequestService.request(...data);

    Так и не будет работать. Во первых не получишь доступ к методу request (получишь доступ только если он будет static, но в твоем примере он обычный). Во вторых request принимает объект, а вот этим ...data ты объект разворачиваешь.
    может как-то так можно

    Так можно, только без '?'.
    Изучи, что означает '?' в TS. в сигнатуре метода это означает необязательность параметра. При инициализации объекта наличие этого символа вызовет ошибку компиляции.
  • Почему ошибка Ожидалось аргументов: 3, получено: 1.?

    @kttotto
    Если в самом методе, то наверное, так
    test(params: { method, url, headers, body, params } = { method: 'GET', url: '', headers: null, body: null, params: null }) {
     ...
    }

    Но не думаю, что в реальной жизни кто-то будет так делать
  • Почему ошибка Ожидалось аргументов: 3, получено: 1.?

    @kttotto
    ABCquestion, должен быть экземпляр RequestService, например
    const requestService = new RequestService()
    потом на экземпляре вызвать метод с параметрами
    const data = {
          method: 'GET',
          url: '/code',
          params: { phone },
        };
    await requestService.request(data)
  • Почему ошибка Ожидалось аргументов: 3, получено: 1.?

    @kttotto
    Тут все в ошибках, не понятно что Вы хотите, в каком контексте это все?
  • Как подписаться на изменение переменной и выполнить вызов функции один раз для последнего элемента?

    @kttotto
    lssssssssssl switch отменит запрос, если будет новое событие, но сам запрос будет, посмотрите в консоли. switch нужен, когда есть долгие запросы, а при наступлении нового события, актуальность предыдущего запроса теряется.
  • Как устранить ошибку (индекс за пределами диапазона)?

    @kttotto
    asyasb, это можно проверить: сделайте размер одинаковый по высоте и ширине, любые числа. Если при квадратном размере ошибки не будет, значит надо местами индексы поменять.
  • Cделать так, чтобы красный оказался позади синего и зеленого?

    @kttotto
    Alex_mos, условие задачи
    Нельзя менять/добавлять позиционирование к элементам
  • Cделать так, чтобы красный оказался позади синего и зеленого?

    @kttotto
    так позиционирование нельзя менять
    можно было тогда и так как-то
    <div style='position: fixed;'>
       <span class="red">Red</span>
    </div>
  • Как открыть вторую гит ветку в новом окне?

    @kttotto
    lssssssssssl, как уже сказали, это проблема не идеи а гита, идея выполняет команды гита. Гит может Вам показывать состояние только одного коммита одновременно, он не дает возможности делать это для двух коммитов одновременно. Ну и как Вы это представляете? Вы делаете чекаут на коммит и в папке проекта у вас актуальное состояние файла для этого коммита. Как должен выглядеть файл для двух коммитов одновременно??
    Поэтому если хотите работать одновременно с двумя разными состояниями одного файла, просто с одного репозитория делаете два клона.
    Мне по работе приходится делать много ревью и делать сложные мержи с кучей конфликтов. Поэтому я именно так и делаю. На одном мониторе один клон с одной веткой, на другом мониторе другой клон с другой веткой. Мне так проще смотреть историю изменений по каждой ветке и принимать решению как разруливать конфликт.
    Иногда нужно внести одно и тоже изменение сразу в две ветки, в таком варианте это сделать тоже удобнее. Ну или без черепика перенести изменения из одной ветки в другую. Разные ситуации бывают, когда нужно одновременно видеть две ветки.
    Если же Вы хотите просто посмотреть разницу между коммитами, то сделайте дифф.
  • Почему не выполняется условие в JavaScript?

    @kttotto
    Это значит, что все-таки result не равен условию, ищите разницу. Как выше написали, попробуйте сделать trim, убедитесь, что отдельные буквы не набраны в кириллице и т.д.
  • Медленный ли современный Angular в маленьком проекте?

    @kttotto
    Василий Назаров, Если бы не твой переход на личности, я бы про тебя забыл после первого твоего поста, я таких уже навиделся. Ты обычный диванный эксперт, без опыта для какой либо компетенции. На большие проекты ты не пойдешь, потому что не потянешь. Ты не командный игрок, одиночка со своей убежденной крутостью. Когда аргументов нет, вот тогда и переходят с агрессией на личности, чем и пропитаны все твои посты. Нет аргументов - балабол, афидерзейн.
  • Медленный ли современный Angular в маленьком проекте?

    @kttotto
    Василий Назаров, Я теперь не слезу. Пруф или балабол. Я хоть как-то аргументировал моменты, когда ангуляр считаю приемлемым выбором. Вы же не предоставили НИ ОДНОГО аргумента. Вы так рьяно топите против, что видимо у Вас есть большой опыт работы с ангуляр, так поделитесь ЛИЧНЫМ опытом. Может просто Вам не хватило знаний применить тот хеловолд к вашей задаче? А то я представляю себя, решаем на чем клиент делать будем и я такой - на вью, у меня спрашиваю: почему? ну и я
    Angular жив только в головах тех, кто на него по дури наивности подсел

    ng - это и не круто, и не красиво, и не удобно, и медленно

    которые не понимают, по каким критериям настоящий профессионал выбирает инструмент

    вокруг меня профессионалы ng если трогают, потом руки и глаза с мылом моют

    в ng гораздо больше способов стрельнуть себе в ногу
    если вы это отрицаете, то вы просто фанатик, и дискутировать далее не имеет смысла

    но вы можете есть ng, ваш выбор, вам - можно

    потому что никаких причин, кроме повышения своего ощущения "профессионализма", изучать ng в 2021 нет

    Я работал с тремя огромными проектами на вью и двумя на ангуляр. Я могу сравнивать. Расскажите о своем опыте более аргументировано.