<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Vue</id>
	<title>Vue - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Vue"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Vue&amp;action=history"/>
	<updated>2026-10-12T11:43:38Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://mediawiki.zina.run/index.php?title=Vue&amp;diff=946&amp;oldid=prev</id>
		<title>&gt;Zina: /* Hamburger / Burger Menu */</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Vue&amp;diff=946&amp;oldid=prev"/>
		<updated>2022-11-08T11:07:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Hamburger / Burger Menu&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Библиотеки ==&lt;br /&gt;
&lt;br /&gt;
=== Hamburger menu / Гамбургер меню ===&lt;br /&gt;
&lt;br /&gt;
* Vue Tasty Burgers — на основе библиотеки AMBURGERS https://jonsuh.com/hamburgers/&lt;br /&gt;
** https://github.com/imfaber/vue-tasty-burgers&lt;br /&gt;
** https://imfaber.github.io/vue-tasty-burgers/dist/#/index&lt;br /&gt;
&lt;br /&gt;
=== VueScreen / Vue-Screen ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/reegodev/vue-screen GitHub]&lt;br /&gt;
* [https://reegodev.github.io/vue-screen/ Documentation]&lt;br /&gt;
&lt;br /&gt;
=== vue-gtm ===&lt;br /&gt;
&lt;br /&gt;
Работа с GTM — Google Tag Manager.&lt;br /&gt;
&lt;br /&gt;
* Для Vue 2: https://www.npmjs.com/package/@gtm-support/vue2-gtm&lt;br /&gt;
* [https://krzysztof-kaszanek.medium.com/how-to-track-custom-gtm-events-in-vue-js-application-7d806717a42 How to track custom GTM events in Vue.js application?] | by Krzysztof Kaszanek | Medium&lt;br /&gt;
&lt;br /&gt;
См. также:&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=K7S8Js8GdZY How to Track AJAX forms with Google Tag Manager - YouTube]&lt;br /&gt;
* [https://www.analyticsmania.com/wp-content/uploads/2020/06/Analytics-Mania-Form-tracking-with-Google-Tag-Manager-Complete-Guide.pdf Form tracking with Google Tag Manager — Complete Guide]&lt;br /&gt;
&lt;br /&gt;
== Сниппеты ==&lt;br /&gt;
&lt;br /&gt;
=== Hamburger / Burger Menu ===&lt;br /&gt;
&lt;br /&gt;
* Рабочая версия: https://codepen.io/romychvk/pen/PoabdEm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;ru&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Burger Menu&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width,initial-scale=1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;https://unpkg.com/vue&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script src=&amp;quot;https://unpkg.com/vue@3/dist/vue.global.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;style&amp;gt;&lt;br /&gt;
    #navbar {&lt;br /&gt;
      border: 1px solid gray;&lt;br /&gt;
    }&lt;br /&gt;
    .burger-button__active {&lt;br /&gt;
      color: white;&lt;br /&gt;
      background-color: red;&lt;br /&gt;
    } &lt;br /&gt;
    .burger-menu {&lt;br /&gt;
      display: none;&lt;br /&gt;
    }&lt;br /&gt;
    .burger-menu__active {&lt;br /&gt;
      display: block;&lt;br /&gt;
    }&lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div id=&amp;quot;navbar&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;button &lt;br /&gt;
      @click=&amp;quot;isBurgerOpen = !isBurgerOpen&amp;quot;&lt;br /&gt;
      class=&amp;quot;burger-button&amp;quot;&lt;br /&gt;
      :class=&amp;quot;{ &amp;#039;burger-button__active&amp;#039;: isBurgerOpen }&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
      Меню&lt;br /&gt;
    &amp;lt;/button&amp;gt;&lt;br /&gt;
    &amp;lt;ul&lt;br /&gt;
      v-if=&amp;quot;isBurgerOpen&amp;quot;&lt;br /&gt;
      class=&amp;quot;burger-menu&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Первая ссылка&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Вторая ссылка&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Третья ссылка&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt; &lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    var navbar = new Vue({&lt;br /&gt;
      el: &amp;#039;#navbar&amp;#039;,&lt;br /&gt;
      data: {&lt;br /&gt;
        isBurgerOpen: false&lt;br /&gt;
      },&lt;br /&gt;
      watch: {&lt;br /&gt;
        isBurgerOpen: function() {&lt;br /&gt;
          document.body.style.overflow = this.isBurgerOpen ? &amp;#039;hidden&amp;#039; : &amp;#039;&amp;#039;&lt;br /&gt;
         // document.body.style.padding = this.isBurgerOpen ? &amp;#039;0&amp;#039; : &amp;#039;&amp;#039;&lt;br /&gt;
        },&lt;br /&gt;
      },&lt;br /&gt;
    })&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vite ===&lt;br /&gt;
&lt;br /&gt;
Важно: синтаксис &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;script setup&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (см. [https://v3.ru.vuejs.org/ru/api/sfc-script-setup.html SFC и синтаксис &amp;lt;script setup&amp;gt;]) отличается от стандартного Vue, поэтому проще всего заменить этот тэг на просто &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
  &amp;lt;div &lt;br /&gt;
    class=&amp;quot;relative flex items-center justify-center h-24 p-8 mx-8 bg-yellow-100&amp;quot;&lt;br /&gt;
    @click=&amp;quot;toggle&amp;quot;&lt;br /&gt;
  &amp;gt;&lt;br /&gt;
    Menu&lt;br /&gt;
    &amp;lt;ul&lt;br /&gt;
      class=&amp;quot;top-24 h-96 absolute w-full p-4&amp;quot;&lt;br /&gt;
      :class=&amp;quot;[isOpen ? &amp;#039;bg-green-400&amp;#039; : &amp;#039;hidden&amp;#039;]&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;First&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Second&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;Third&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
  export default {&lt;br /&gt;
    data() {&lt;br /&gt;
      return {&lt;br /&gt;
        isOpen: false&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    methods: {  &lt;br /&gt;
      toggle() {&lt;br /&gt;
        this.isOpen = !this.isOpen&lt;br /&gt;
        console.log(&amp;#039;isOpen: &amp;#039;+this.isOpen)&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>&gt;Zina</name></author>
	</entry>
</feed>