LINUX.ORG.RU

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

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

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

TDrive ★★★★★ ()
Ответ на: комментарий от 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 ()
Ответ на: комментарий от miltorg

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

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

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

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

x3al ★★★★★ ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

goingUp ★★★★★ ()

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

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

doctorx ★★★ ()