LINUX.ORG.RU

Нехватает тега «Ответы-LOR» по аналогии с «Ответы-Mail.ru» для подобных вопросов.

TDrive ★★★★★
()
Ответ на: комментарий от miltorg

Что не так? Интернет на телефонах юзают только слюнявые подростки. Но их много - с этим приходится считаться.

Если это не троллинг, и ты действительно так думаешь то тут можно только посочувствовать.

TDrive ★★★★★
()
Ответ на: комментарий от miltorg

Получилось что написать свой - быстрее и наглядней и не нужно ничего подключать.

А если на странице табы в нескольких местах нужны?

static_lab ★★★★★
()
Ответ на: комментарий от static_lab
Так вы только элементарные вещи и пишете.

Я и Vue. Только эти Табы - это самое сложное что я нашел в полкнижки Vue

miltorg
() автор топика
Ответ на: комментарий от miltorg

это самое сложное что я нашел в полкнижки Vue

Да ладно, а динамический v-for, когда ты добавляешь/удаляешь/изменяешь элемент в массив, и это изменение автоматически отражается в DOM?

static_lab ★★★★★
()
Ответ на: комментарий от static_lab
<?php
$kn[0] = 'Home';
$cont[0] = 'Home component';

$kn[1] = 'Posts';
$cont[1] = 'Posts component';

$kn[2] = 'Archive';
$cont[2] = 'Archive component';

$kn[3] = 'ещё Таб1';
$cont[3] = 'my Таб первый';

$kn[4] = 'Таб n-ый';
$cont[4] = 'Количество Табов неограничено';

//===========================================================

$kn1[0] = 'Home1';
$cont1[0] = 'Home component1';

$kn1[1] = 'Posts1';
$cont1[1] = 'Posts component1';

$kn1[2] = 'Archive1';
$cont1[2] = 'Archive component1';

$kn1[3] = 'ещё Таб11';
$cont1[3] = 'my Таб первый1';

$kn1[4] = 'Таб n-ый1';
$cont1[4] = 'Количество Табов неограничено1';

$taby = new Taby;

?>
<!DOCTYPE html>
<html>
  <head>
    <title>Dynamic Components Example</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://unpkg.com/vue"></script>
    <style>
      .tab-button {
        padding: 6px 10px;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
        border: 1px solid #ccc;
        cursor: pointer;
        background: #f0f0f0;
        margin-bottom: -1px;
        margin-right: -1px;
      }
      .tab-button:hover {
        background: #e0e0e0;
      }
      .tab-button.active {
        background: #e0e0e0;
      }
      .tab {
        border: 1px solid #ccc;
        padding: 10px;
      }
    </style>
  </head>
  <body>

<?php $taby->display(1, $kn, $cont)?>

<p> =============== </p>

<?php $taby->display(2, $kn1, $cont1)?>

<p>=========== ==================== ================= =================</p>

    <div id="dynamic-component-demo" class="demo">
      <button
        v-for="tab in tabs"
        v-bind:key="tab"
        v-bind:class="['tab-button', { active: currentTab === tab }]"
        v-on:click="currentTab = tab"
      >
        {{ tab }}
      </button>

      <component v-bind:is="currentTabComponent" class="tab"></component>
    </div>

    <script>
      Vue.component("tab-home", {
        template: "<div>Home component</div>"
      });
      Vue.component("tab-posts", {
        template: "<div>Posts component</div>"
      });
      Vue.component("tab-archive", {
        template: "<div>Archive component</div>"
      });

      new Vue({
        el: "#dynamic-component-demo",
        data: {
          currentTab: "Home",
          tabs: ["Home", "Posts", "Archive"]
        },
        computed: {
          currentTabComponent: function() {
            return "tab-" + this.currentTab.toLowerCase();
          }
        }
      });
    </script>

  </body>
</html>

<?php
class Taby{
  function display($nom, $kn, $kont){
    $kol_kn = count($kn);
    
    for($i=0;$i<$kol_kn;++$i){
      ?>
      <button id="kn<?=$i.$nom?>" class="tab-button<?php if($i==0) print ' active';?>"
        onclick="otrTab(<?="$nom, $i, $kol_kn"?>)"><?=$kn[$i]?></button>      
      <?php      
      }
    for($i=0;$i<$kol_kn;++$i){
      ?>
      <div id="tab<?=$i.$nom?>" class="tab"<?php if($i!=0) print ' style="display:none"';?>><?=$kont[$i]?></div>
      <?php
      }?>

    
<script>
function otrTab(nom, t, kol_kn){
  let u = [];
  let cv =[];
  
  for(let i=0; i < kol_kn; i++){
    u[i] = 'none';
    u[t] = 'block';
    
    cv[i] = '#f0f0f0';
    cv[t] = '#e0e0e0';
    
    globalThis['tab'+i+nom].style.display = u[i];
    globalThis['kn'+i+nom].style.background = cv[i];
    }

}
</script>
    
  <?php
    }
  
  }


miltorg
() автор топика
Ответ на: комментарий от crutch_master

Андрей Николаич. Можно - Николаич.

Всё равно с такими как вы - разговаривать не информативно - из-за этого - скучно.

miltorg
() автор топика
Ответ на: комментарий от evgeny_aa

Зря вы так. Там моего кода - очень мало. Весь код с официального сайта Vue

miltorg
() автор топика
Ответ на: комментарий от miltorg

Я его рекомендую под каждой вакансией, которая как-то касается вебни, тащу его за своей шее из вонючей помойки с дурпалом и низкопробным кодингом на пхп за объедки к красивой жизни js ангуляр сеньёра, а ему скучно, видите ли, не информативно. Он, видите ли на лоре хочет весело тролить. Ну ничего, шрек. Мы из тебя сделаем дворянина.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 3)
Ответ на: комментарий от crutch_master

Я не против. Только мне нужна работа, а не объявления про работу. Объявления про работу - я читаю около 7 раз в день.

miltorg
() автор топика
Ответ на: комментарий от miltorg

Да, это — одна из причин, по которым нужны фреймворки (ну или хотя бы шаблонизация и явное разделение шаблонов на «клиентские» и «серверные» с очень аккуратными границами между ними либо, ещё лучше, только клиент-сайд шаблоны и только JSON с сервера). Лапша из php и html/js в одном файле в принципе никак, вообще никак не может быть проверена на отсутствие банальных XSS.

И фреймворки как минимум отучают писать такую лапшу.

x3al ★★★★★
()

Что в нём есть такого что нельзя сделать на js?

Открою тебе секрет. Vue (да и Angular, и ReactJS) - это все JavaScript. Это фреймворки - подготовленный набор кода для облегчения работы. Ты все можешь сделать на JS. И даже если будешь писать на Vue, то все равно ты будешь писать на JS. Но только либо тебе будет удобно (с Vue, Angular, ReactJS), либо нет (без них). Ну, либо твой код будет очень примитивен, делать кучу запросов на сервер, без сохранения состояния на фронте, ну и разных прочих плюшек.

Почитай, что привносят эти фреймворки, пойми, нужны ли тебе эти удобства. Не нужны или хочешь писать велосипед - не используй.

Но только не задавай глупых вопросов.

bvn13 ★★★★★
()
Ответ на: комментарий от x3al

Господи. О чём вы? Какие атаки? На что? Такое ощущение что у все владельцы банков и у всех сайты этих банков. У нас в городе дом 4 этажный продают за 5 миллионов рублей - никто не покупает - денег нет у людей.

miltorg
() автор топика
Ответ на: комментарий от miltorg

Я 10 лет назад держал 50 сайтов которые приносили по 2 тысячи рублей в день. Вы думаете сколько было атак? Да ни одной. Вообще ни одной.

miltorg
() автор топика
Ответ на: комментарий от rumgot

В целом выглядит неплохо, кроме RxJS. Теперь понятно, почему тот же хабрр с кучей комментариев дико лагает.

Shadow ★★★★★
()
Ответ на: комментарий от miltorg

Вообще - Взлом сайта - уголовно наказуемое деяние. То есть можно сесть в тюрьму за эти все как вы говорите, банальные XSS или что там ещё.

miltorg
() автор топика
Ответ на: комментарий от miltorg

Кражи, грабежи, убийства - тоже уголовно наказуемые деяния. Неужели в мире никто этим больше не занимается?

static_lab ★★★★★
()
Ответ на: комментарий от miltorg

Вообще - Взлом сайта - уголовно наказуемое деяние. То есть можно сесть в тюрьму за эти все как вы говорите, банальные XSS или что там ещё.

Ну, преступники, они не лохи, в тюрьму не хотят и делают всё, чтобы их не поймали.

10 лет назад держал 50 сайтов которые приносили по 2 тысячи рублей в день

И где они все теперь? Почему ты работаешь за 200 рублей в час?

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 3)
Ответ на: комментарий от miltorg

Обычно там всё шифруют и требуют биткоины. И хрен ты кого найдешь.
Или делают там проски и находят уже тебя.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от miltorg

Xss могут использоваться для создания ссылки-редиректа под спам- рассылку, например. Чтобы в письме был домен, который не улетает в спам. Просто один из примеров эксплуатации подобных дыр.

evgeny_aa ★★☆
()
Ответ на: комментарий от miltorg

Увы. Я тогда в шарагу только поступил.
Ну так где теперь все эти ваши сайты и почему вы перебиваетесь на 200 рублей в час вместо того, чтобы ездить на электросамокате и пить смузи по барбершопам?

crutch_master ★★★★★
()
Ответ на: комментарий от evgeny_aa

Пишу ещё раз. Последний.

За 20 лет эксплуатации хостинга - взлом был 1 раз. В самом начале. В районе 2003 года. Взяли, вы не поверите, хостинг. И разместили там свои картинки и пр хрень.

miltorg
() автор топика
Ответ на: комментарий от crutch_master

Так, типа, я тогда приблизительно так и делал - Я в Европе тогда жил. Изменились технологии поисковых машин - и весь бум кончился.

miltorg
() автор топика
Ответ на: комментарий от miltorg

У нас в городе дом 4 этажный продают за 5 миллионов рублей - никто не покупает - денег нет у людей.

Может потому что он нафиг никому не нужен?

static_lab ★★★★★
()
Ответ на: комментарий от miltorg

3 года строгого режима.

Чтобы заниматься экстрадицией гражданина условного Ирана или Китая по данному поводу, хакнут должен быть как минимум сайт-визитка какого-нибудь ядерного объекта.

PolarFox ★★★★★
()
Ответ на: комментарий от miltorg

Останавливать что?

Самообразование, что же еще.

У вас какое образование?

Высшее экономическое. Программирование - средне-специальное.

crutch_master ★★★★★
()
Ответ на: комментарий от vvn_black

Это не наводит вас на мысль, что в этом мире что-то поменялось достаточно серьёзно, чтобы пересмотреть своё мнение насчёт «чистый php компактней и понятней» и «чистый js лучше»?

Конечно, и свалить на clojure.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Извините, но назвать это образованием - я не могу. Я думаю, что именно по этому с вами скучно общаться. Извините и Пока.

miltorg
() автор топика
Ответ на: комментарий от miltorg

Только мне нужна работа, а не объявления про работу. Объявления про работу - я читаю около 7 раз в день.

А что ты хотел с таким-то резюме) Телефонные линии он тянул. Ремонт ламповых телевизоров. Стремное оно, и сайт стремный, да и ты стремный)

goingUp ★★★★★
()
Ответ на: комментарий от goingUp
Стремное оно, и сайт стремный, да и ты стремный)

И нос у меня не Арийский. :-)

miltorg
() автор топика

гораздо удобнее использовать набор компонентов, ивенты между ними, чем хендлить все это с помощью селекторов. Никогда не получалось с первого раза написать правильно селектор к элементу, а потом сидишь и ищещь, почему ивент не вызывается.

Фреймворки почти всегда лучше, стандартный подход для всех, никто велосипед не придумывает, все используют хорошо написанную документацию, vanilla js считаю баловством. Спасибо.

doctorx ★★★★
()
Ответ на: комментарий от miltorg

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

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.