引入 Vue

<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- 生产环境版本,优化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>

Vue 指令

v-text

示例:

<div id="app">
  {{message}}
  <h2 v-text="message+'!'"></h2>
  <h2>{{school.mobile}}</h2>
  <h2>{{ names[0] }}</h2>
</div>

<script>
  var app = new Vue({
    el: "#app",
    data: {
      message: "hello vue!",
      school: {
        name: "www",
        mobile: "2-12302-1",
      },
      names: ["www", "hdsi", "dsk"],
    },
  });
</script>

在标签里面直接指定 v-text = " “,会将标签文本全部替换为” “的内容

v-html

设置标签的 innerHtml,将文本解析为 html 结构

<div id="app">
  {{message}}
  <h2 v-html="content"></h2>
</div>

<script>
  var app = new Vue({
    el: "#app",
    data: {
      content: "<a href='#''>v-html示例</a>",
    },
  });
</script>

v-on

为元素绑定事件

<div id="app">
  <input type="button" value="v-on" v-on:click="study" />
  <input type="button" value="v-on简写" @click="study" />
</div>

<script>
  var app = new Vue({
    el: "#app",
    methods: {
      study: function () {
        alert("开始学习");
      },
    },
  });
</script>

v-show

v-show = “bool”, 用于决定元素是否显示,操作的是 display 属性

<div id="app">
  <img src="./bili.png" v-show="isShow" />
  <button @click="changeState">切换显示状态</button>
</div>

<script>
  var app = new Vue({
    el: "#app",
    data: {
      isShow: false,
    },
    methods: {
      changeState: function () {
        this.isShow = !this.isShow;
      },
    },
  });
</script>

v-if

直接操作元素是否显示

<div id="app">
  <p v-if="isShow">v-if</p>
</div>
<script>
  var app = new Vue({
    el: "#app",
    data: {
      isShow: true,
    },
  });
</script>

本质是操纵 dom 元素来切换显示状态,v-if=“false"时,将元素从 dom 树中移除

在使用过程中,频繁的切换用 v-show,不频繁用 v-if,v-show 切换消耗小