zoukankan      html  css  js  c++  java
  • 02-vue基本指令

    1、v-cloak 解决插值表达式的闪烁问题

    2、v-text 文本,没有闪烁问题

    3、v-html 会解析文本内容

    4、v-bind 用于绑定属性的指令

    5、v-on 用于事件绑定的指令

    6、v-model 用于数据的双向绑定

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <style>
        [v-cloak] {
          /* display: none; */
        }
      </style>
    </head>
    
    <body>
      <div id="app">
        <!-- 使用 v-cloak 能够解决 插值表达式闪烁的问题 -->
        <p v-cloak>++++++++ {{ msg }} ----------</p>
        <h4 v-text="msg">==================</h4>
        <!-- 默认 v-text 是没有闪烁问题的 -->
        <!-- v-text会覆盖元素中原本的内容,但是 插值表达式  只会替换自己的这个占位符,不会把 整个元素的内容清空 -->
    
        <div>{{msg2}}</div>
        <div v-text="msg2"></div>
        <div v-html="msg2">1212112</div>
    
        <!-- v-bind: 是 Vue中,提供的用于绑定属性的指令 -->
        <!-- <input type="button" value="按钮" v-bind:title="mytitle + '123'"> -->
        <!-- 注意: v-bind: 指令可以被简写为 :要绑定的属性 -->
        <!-- v-bind 中,可以写合法的JS表达式 -->
    
        <!-- Vue 中提供了 v-on: 事件绑定机制 -->
        <!-- <input type="button" value="按钮" :title="mytitle + '123'" v-on:click="alert('hello')"> -->
    
    
        <input type="button" value="按钮" @click="show">
      </div>
    
    
      <script src="./lib/vue-2.4.0.js"></script>
    
      <script>
        var vm = new Vue({
          el: '#app',
          data: {
            msg: '123',
            msg2: '<h1>哈哈,我是一个大大的H1, 我大,我骄傲</h1>',
            mytitle: '这是一个自己定义的title'
          },
          methods: { // 这个 methods属性中定义了当前Vue实例所有可用的方法
            show: function () {
              alert('Hello')
            }
          }
        })
    
    
        /* document.getElementById('btn').onclick = function(){
          alert('Hello')
        } */
      </script>
    </body>
    
    </html>
    
    
    
    
    <!-- 1. 如何定义一个基本的Vue代码结构 -->
    <!-- 2. 插值表达式 和  v-text   -->
    <!-- 3. v-cloak -->
    <!-- 4. v-html -->
    <!-- 5. v-bind   Vue提供的属性绑定机制   缩写是 : -->
    <!-- 6. v-on     Vue提供的事件绑定机制   缩写是 @ -->
    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="./lib/vue-2.4.0.js"></script>
    </head>
    
    <body>
      <div id="app">
        <input type="text" v-model="n1">
    
        <select v-model="opt">
          <option value="+">+</option>
          <option value="-">-</option>
          <option value="*">*</option>
          <option value="/">/</option>
        </select>
    
        <input type="text" v-model="n2">
    
        <input type="button" value="=" @click="calc">
    
        <input type="text" v-model="result">
      </div>
    
      <script>
        // 创建 Vue 实例,得到 ViewModel
        var vm = new Vue({
          el: '#app',
          data: {
            n1: 0,
            n2: 0,
            result: 0,
            opt: '+'
          },
          methods: {
            calc() { // 计算器算数的方法  
              // 逻辑:
              /* switch (this.opt) {
                case '+':
                  this.result = parseInt(this.n1) + parseInt(this.n2)
                  break;
                case '-':
                  this.result = parseInt(this.n1) - parseInt(this.n2)
                  break;
                case '*':
                  this.result = parseInt(this.n1) * parseInt(this.n2)
                  break;
                case '/':
                  this.result = parseInt(this.n1) / parseInt(this.n2)
                  break;
              } */
    
              // 注意:这是投机取巧的方式,正式开发中,尽量少用
              var codeStr = 'parseInt(this.n1) ' + this.opt + ' parseInt(this.n2)'
              this.result = eval(codeStr)
            }
          }
        });
      </script>
    </body>
    
    </html>
    

      

      

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="./lib/vue-2.4.0.js"></script>
    </head>
    
    <body>
      <div id="app">
        <h4>{{ msg }}</h4>
    
        <!-- v-bind 只能实现数据的单向绑定,从 M 自动绑定到 V, 无法实现数据的双向绑定  -->
        <!-- <input type="text" v-bind:value="msg" style="100%;"> -->
    
        <!-- 使用  v-model 指令,可以实现 表单元素和 Model 中数据的双向数据绑定 -->
        <!-- 注意: v-model 只能运用在 表单元素中 -->
        <!-- input(radio, text, address, email....)   select    checkbox   textarea   -->
        <input type="text" style="100%;" v-model="msg">
      </div>
    
      <script>
        // 创建 Vue 实例,得到 ViewModel
        var vm = new Vue({
          el: '#app',
          data: {
            msg: '大家都是好学生,爱敲代码,爱学习,爱思考,简直是完美,没瑕疵!'
          },
          methods: {
          }
        });
      </script>
    </body>
    
    </html>
    

      

  • 相关阅读:
    局域网的组建方案
    网络的分类
    设置Windows的TCP/IP属性和内部网络号码
    在Windows8工作站上安装可靠多播协议
    在Windows Server 2012服务器上安装可靠多播协议
    【转】HTTP协议详解
    局域网的通信协议
    局域网的拓扑结构
    Shiro学习笔记(5)——web集成
    IT增值服务,客户案例(一)--山东青岛在职人士,2年.Net经验,转Java开发半年
  • 原文地址:https://www.cnblogs.com/HHR-SUN/p/14101115.html
Copyright © 2011-2022 走看看