Vue

    技术2026-02-27  7

    条件判断语句

    v-ifv-else

    HTML

    <div id="vue"> <h1 v-if="ok">YES</h1> <h1 v-else>NO</h1> </div>

    JavaScript

    <script type="text/javascript"> var vm = new Vue({ el: '#vue', data: { ok: true } }); </script>

    测试效果

    在 Chrome 浏览器上运行,并按 F12 进入 开发者工具

    在控制台输入 vm.ok = false ,然后 回车,你会发现浏览器中显示的内容会直接变成 NO

    注意: 使用 v-* 属性绑定数据是不需要 双花括号 包裹的

    完整的 HTML

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>语法篇 v-if</title> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="vue"> <h1 v-if="ok">YES</h1> <h1 v-else>NO</h1> </div> <script type="text/javascript"> var vm = new Vue({ el: '#vue', data: { ok: true } }); </script> </body> </html>

    连续的条件判断语句

    v-ifv-else-ifv-else

    HTML

    <div id="vue"> <h1 v-if="type === 'A'">A</h1> <h1 v-else-if="type === 'B'">B</h1> <h1 v-else-if="type === 'C'">C</h1> <h1 v-else>你看不见我</h1> </div>

    注:=== 三个等号在 JS 中表示绝对等于(就是数据与类型都要相等)

    JavaScript

    <script type="text/javascript"> var vm = new Vue({ el: '#vue', data: { type: 'A' } }); </script>

    测试效果

    在 Chrome 浏览器上运行,并按 F12 进入 开发者工具

    分别观察在控制台输入 vm.type = 'B'、'C'、'D' 的变化

    完整的 HTML

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>语法篇 v-else-if</title> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="vue"> <h1 v-if="type === 'A'">A</h1> <h1 v-else-if="type === 'B'">B</h1> <h1 v-else-if="type === 'C'">C</h1> <h1 v-else>你看不见我</h1> </div> <script type="text/javascript"> var vm = new Vue({ el: '#vue', data: { type: 'A' } }); </script> </body> </html>

    循环遍历语句

    v-for

    HTML

    <div id="vue"> <li v-for="item in items"> {{ item.message }} </li> </div>

    注:items 是源数据数组并且 item 是数组元素迭代的别名。

    JavaScript

    <script type="text/javascript"> var vm = new Vue({ el: '#vue', data: { items: [ {message: 'Foo'}, {message: 'Bar'} ] } }); </script>

    测试效果

    在 Chrome 浏览器上运行,并按 F12 进入 开发者工具

    在控制台输入 vm.items.push({message: 'Baz'}) ,尝试追加一条数据,你会发现浏览器中显示的内容会增加一条 Baz

    完整的 HTML

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>语法篇 v-for</title> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="vue"> <li v-for="item in items"> {{ item.message }} </li> </div> <script type="text/javascript"> var vm = new Vue({ el: '#vue', data: { items: [ {message: 'Foo'}, {message: 'Bar'} ] } }); </script> </body> </html>
    Processed: 0.013, SQL: 9