Vue快速入门

概念:Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写

基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。

框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。基于框架进行开发,更加快捷,更加高效。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue快速入门</title>
    <script src="JS/vue.js"></script>
</head>
<body>
    <div id="app">
        <input type="text" v-model="message">
            {{message}}
    </div>

    
</body>
    <script>
        new Vue({
            el:"#app",
        data:{
            message:"Hello Vue"
        }
        })
    </script>
</html>

常用指令

v-bind

v-model

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue快速入门</title>
    <script src="JS/vue.js"></script>
</head>
<body>
   <div id="app">
    <!-- 为HTML标签绑定属性值,如设置href,css样式等 -->
        <a v-bind:href="url">链接1</a>
        <a :href="url">链接2</a>
    <!-- 为表单元素上创建双向数据绑定 -->
        <input type="text" v-model="url">
   </div>

    
</body>
    <script>
        // 定义Vue对象
       new Vue({
        el:"#app",/* Vue接管区域 */
        data:{
            url: "https://picx.zhimg.com/80/v2-e07198dd7d926bfa3ed6eb635c5f50c9_1440w.webp?source=1940ef5c"
        }
       })
    </script>
</html>

运行实例: 

 v-on

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue快速入门</title>
    <script src="JS/vue.js"></script>
</head>
<body>
   <div id="app">
        <input type="text" value="来点我" v-on:click="handle()">
        <input type="text" value="来点我" @click="handle()">
   </div>
</body>
    <script>
        // 定义Vue对象
       new Vue({
        el:"#app",
        data :{

        },
        methods: {
            handle:function(){
                alert("我被点了")
            }
        },
        
       })
    </script>
</html>

案例:通过Vue完成表格数据的渲染展示

完成效果展示:

 代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>学生成绩</title>
    <script src="JS/vue.js"></script>
</head>
<body>
    <div id="app">
        <table border="1" cellspacing="0" width="60%">
                <tr>
                    <th>编号</th>
                    <th>姓名</th>
                    <th>年龄</th>
                    <th>性别</th>
                    <th>成绩</th>
                    <th>等级</th>
                </tr>
                <tr align="center" v-for="(user, index) in users" >
                    <td>{{index+1}}</td>
                    <td>{{user.name}}</td>
                    <td>{{user.age}}</td>
                    <td>
                        <span v-if="user.gender==1">男</span>
                        <span v-if="user.gender==2">女</span>
                    </td>
                    <td>{{user.score}}</td>
                    <td>
                        <span v-if="user.score>=85">优秀</span>
                        <span v-else-if="user.score>=60">及格</span>
                        <span style="color: red;" v-else>不及格</span>
                    </td>
                </tr>
        </table>

    </div>
</body>
    <Script>
        new Vue({
            el:"#app",
            data :{
                users:[{
                    name:"Tom",
                    age:20,
                    gender:1,
                    score:78
                },{
                    name:"Rose",
                    age:18,
                    gender:2,
                    score: 86
                },{
                    name:"Jerry",
                    age:26,
                    gender:1,
                    score:90
               },{
                name:"Tony",
                    age:30,
                    gender:1,
                    score:52
              }]
            }
            
        })
    </Script>
</html>

Vue生命周期

生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)

状态                                      阶段周期

beforeCreate                        创建前

created                                 创建后

beforeMount                         载入前

mounted                               挂载完成

beforeUpdate                       更新前

updated                                更新后

beforeDestory                      销毁前

destroued                             销毁后

mounted:挂载完成,Vue初始化成功,HTML页面渲染成功(发送到服务端,获取数据)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>生命周期</title>
    <script src="JS/vue.js"></script>
</head>
<body>
    <div id="app">

    </div>
    
</body>
<script>
    new Vue({
        el:"#app",
        data: {

        },
        method:{

        },
        mounted() {
            alert("挂载完成")
        }

    })  
</script>
</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰逸.itbignyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值