VUE快速入门

VUE是一款用于构建用户界面的渐进式的JavaScript框架

准备:

1.引入VUE模块

2.创建VUE程序的应用实例,控制视图的元素

3.准备元素(div),被Vue控制

javascript 复制代码
<body>
    <div id="app">
        <h1>{{message}}</h1>
        <h2>{{count}}</h2>
    </div>

    <script type="module">
        import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
        createApp({
            data() {
                return {
                    message: 'hello vue',
                    count: 100
                }
            }
        }).mount('#app')
    </script>
</body>

常用指令:

vfor: 注意放入的位置

javascript 复制代码
    <div id="container">
         <form action="/search" class="search-form">
         <label for="name"> 姓名:</label>
         <input type="text" id="name" name="name" placeholder="请输入姓名">
         <label for="gender">性别</label>
         <select id="gender" name="gender">
            <option value="">请选择性别</option>
            <option value="男">男</option>
            <option value="女">女</option>
        </select>
        <select name="positon" id="positon">
            <option value="">请选择职务</option>
            <option value="教师">教师</option>
            <option value="学生">学生</option>
        </select>
        <button type="submit">查询</button>
        <button type="reset">重置</button>
     </form>
     <table>
        <thead>
            <tr>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>职务</th>
            </tr>
        </thead>
        <tbody>
            <tr v-for="(item, index) in empList" :key="item.id">
                <td>{{item.name}}</td>
                <td>{{item.age}}</td>
                <td>{{item.gender}}</td>
                <td>{{item.job}}</td>
            </tr>
            
        </tbody> 
     </table>
    </div>
   

    <script type="module">
        import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
        createApp({
            data() {
                return {
                   empList: [
                    {id: 1, name: '张三', age: 18,gender: '男',job: '前端开发',},
                    {id: 2, name: '李四', age: 19,gender: '男',job: '后端开发',},
                    {id: 3, name: '王五', age: 20,gender: '男',job: '项目经理'}
                ]
                }
            }
        }).mount('#container')
    </script>

vif :基于条件判断,来创建或移除元素节点 要么显示要么不显示

javascript 复制代码
 <tr v-for="(item, index) in empList" :key="item.id">
                <td>{{item.name}}</td>
                <td>{{item.age}}</td>
                <td>
                    <span v-if="item.gender == '1'">男</span>
                    <span v-else>女</span>
                </td>
                <td>{{item.job}}</td>
            </tr>

vshow;基于CSS 控制显示和隐藏 适用于频繁切换的场景

html 复制代码
 <td>
                    <span v-show="item.job == '1'">前端开发</span>
                    <span v-show="item.job == '2'">后端开发</span>
                    <span v-show="item.job == '3'">项目经理</span>
                    <span v-show="item.job == ''">未知</span>
                </td>

v-model 具备双向数据绑定的效果

html 复制代码
 <input type="text" id="name" name="name" placeholder="请输入姓名" v-model="searchForm.name">
 
 <select id="gender" name="gender" v-model="searchForm.gender">

<select name="positon" id="positon" v-model="searchForm.job">



 searchForm: {
                    name: '',
                    gender: '',
                    job: '' 
                }

V-ON 使查询和重置有效

methods与data平级

html 复制代码
 <button type="submit" v-on:click="search">查询</button>

 methods: {
                search() {
                    console.log(this.searchForm);
                }
            }
相关推荐
万少6 小时前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站9 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名11 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫11 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊11 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter11 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折12 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_12 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
不会敲代码112 小时前
前端组件化样式隔离实战:React CSS Modules、styled-components 与 Vue scoped 对比
css·vue.js·react.js
Angelial12 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js