sergAccount

Untitled

Oct 1st, 2020
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.62 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>Hello Vue</title>
  5.     <meta charset="utf-8">
  6.     <!-- https://unpkg.com/vue@2.6.11/dist/vue.min.js -->
  7.     <!-- подключение фреймворка vue.js -->
  8.     <script type="text/javascript" src="https://unpkg.com/vue"></script>
  9.     <style type="text/css">
  10.     .active {
  11.       color: red
  12.     }
  13.     .some {
  14.       font-size: 24px;
  15.     }    
  16.     </style>
  17. </head>
  18. <body>
  19. <!-- элемент div c идентификатором app -->
  20. <!-- v-for -->
  21. <div id="app">       
  22.  
  23.     <input type="button" value="INCREMENT COUNTER1" @click="incCounter()">  
  24.  
  25.     <button-counter @send-result="processCounterResult" ref="counter3"></button-counter>
  26.     <button-counter ref="counter4"></button-counter>
  27. </div>
  28. </body>
  29.  
  30. <template id="counter_tid">  
  31.   <button @click="inc">{{count}}</button>    
  32. </template>
  33.  
  34. <script type="text/javascript">
  35.   //
  36.   Vue.component('button-counter', {
  37.     template: '#counter_tid',
  38.     data: function () {
  39.       return {
  40.         count: 0
  41.       }
  42.     },    
  43.     methods: {
  44.        inc: function() {
  45.              console.log('inc!!!!');
  46.              this.count++;
  47.              // корневой экземпляр $root, вышестоящий $parent
  48.              this.$root.doSomething('HELLO FROM button-counter!!!');
  49.              this.sendResultToParent();
  50.        },
  51.        sendResultToParent: function() {
  52.              console.log('inc!!!!');
  53.              // метод для создания события и передачи его в род. компонент
  54.              // имя события (пользвотельское событие), данные  
  55.              this.$emit('send-result', this.count);            
  56.        }    
  57.     }
  58.   });
  59.  
  60.     // создаем объект Vue (экземпляр Vue)
  61.     new Vue({
  62.   el: "#app",
  63.   data: {    
  64.     showFlag: false,
  65.     result: '',
  66.     price: 10.0777,
  67.     bonus2: 2,
  68.     message: 'some message',                        
  69.     products: [
  70.       {name: "Product1", price: 100},
  71.       {name: "Product2", price: 200}
  72.     ]
  73.   },
  74.   methods : {
  75.       incCounter: function(todo){
  76.             //alert('incCounter');            
  77.             this.$refs.counter3.inc();
  78.             alert(this.$refs.counter3.count);            
  79.       },
  80.       doSomething: function(param){
  81.         console.log('doSomething' + param);
  82.       },
  83.       processCounterResult: function(param){
  84.         console.log('processCounterResult=' + param);
  85.       }
  86.   },
  87.   mounted: function() {
  88.       console.info('mounted fired');
  89.       // обращаемся к узлу DOM
  90.   }
  91. })
  92. </script>
  93. </html>
Add Comment
Please, Sign In to add comment