Задать вопрос
  • Как в select положить все значения включая вложенные из массива объектов?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Понадобится функция, которая позволит вложенные массивы развернуть в один плоский:

    // есть вариант применить рекурсию
    const flatTree = (tree, childrenKey) =>
      (tree instanceof Array ? tree : []).reduce((acc, n) => (
        acc.push(n, ...flatTree(n[childrenKey], childrenKey)),
        acc
      ), []);
    
    // а можно обойтись и без неё
    const flatTree = function*(tree, childrenKey) {
      const stack = [];
    
      for (let [ i, arr ] = this(tree); ++i < arr.length || stack.length;) {
        if (i === arr.length) {
          [ i, arr ] = stack.pop();
        } else {
          yield arr[i];
          stack.push([ i, arr ]);
          [ i, arr ] = this(arr[i][childrenKey]);
        }
      }
    }.bind(x => [ -1, Array.isArray(x) ? x : [] ]);

    Дальше всё просто - вычисляемое свойство, v-for по его значению:

    computed: {
      users() {
        // если использовать обычную функцию
        return flatTree(this.elements, 'children');
    
        // или, генератор
        return [...flatTree(this.elements, 'children')];
      },
    },

    <option v-for="n in users" :key="n.id">{{ n.name }}</option>
    Ответ написан
    1 комментарий
  • Как реализовать рамки и их ховер в css?

    @EugeneNail
    Вместо работы с непосредственно границами рекомендую смотреть в сторону псевдо-элементов.
    1) Наложите каждый из элементов списка друг на друга через margin-top: -2px;
    2) Пропишите только боковые границы, а в качестве верхней и нижней используйте псевдоэлементы ::before и ::after.
    3) При наведении на основной элемент перемещайте эти псевдоэлементы вверх по z-index и меняйте им цвет.

    Ответ написан
    1 комментарий
  • Взломан skype. Как это случилось?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Как то в 2003г. я жил с девушкой. Мы оба были геймерами. Ну я естественно тогда начинал свой путь программирования.
    Был у меня сайтик на обычном хостинге. По тем временам, код был сильно защищен. В один из прекрасных дней я увидел в логах необычное поведение. Прошерстил код, нашел спамбота.
    Конечно все почистил и т.д.

    Но мне стало интересно как и вам, кто и как меня взломал. Своими скромными силами я не смог определить.
    В итоге создал в корне сайта файлик forHacker.txt
    В нем задал вопрос - собственно как вы меня хакнули?
    на следующий день в аську стучится человек, я спрашиваю
    - Мол чего вам надобно? - в ответ
    - Товарищ Иван, вы же сами просили меня вам рассказать как я вас хакнул
    - Спасибо что откликнулись, просветите плз
    - Ваша девушка Света была не аккуратна, скачала мой файлик. В связи с чем я смог получить доступ к ее компу. Далее по локальной сети обнаружил доступ к вашему. Подсадил кейлогер и просто подождал ввода пароля.
    ....
    Всего вам хорошего и удачи. Ваш сайт оставляю в покое =)

    Это примерный наш разговор.
    Так что способов получения ваших данных велик )
    Ответ написан
    Комментировать