Vue知识入门汇总加全概括分享

一:前言部分

今日分享技术网站

介绍 — Vue.js  这个是vue.js的网站官方,大家可以去看看,下面开始讲述

二:vue介绍与安装

  • 介绍

vue是前端的操作dom对象实现数据改变时候的框架

主要的就是对应的mvvm模型,双向绑定(通过dmo来进行数据改变)

而Vue的核心就在于Viemmodel,即使变量像D0M一样直接“显在浏览器里说数据模型是为了让你知道这是MVM中的M,即模型。模型就是变量.vue的核心就是MVVM中的VM,即视图模型,就是让变量能够像D0M一样直接展示

  • 安装

在上述分享那个网站中大家可以看到vue的官网,之后往下翻,找到安装

然后他会跳转到这个页面,之后下翻,选择第一个,然后就是等待下载,下载之后就是一个名称为Vue.js的文件

对的就是这个,之后大家在写项目的时候,把这个复制到你对应的js文件中,就可以正常的调用啦;

然后我们写项目的话,就是创建js文件夹存在js文件

然后一定要在头文件中创建外部js连接

  <script src="./js2/vue.js"></script>

Vue的使用

  • v-model:进行表单的数据绑定
  • v-bind:herf:网址连接传递
  • v-on:click:事件点击

  • v-for:循环
  • v-if:条件语句
  • v-show:输出

ok吧,宝子们我们先来看代码,我们说事件绑定,就是相互影响啦

  • v-model
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
     <!-- 这里一定要有你对应的vue的连接 -->
    <script src="./js2/vue.js"></script>
</head>
<body>
 <div id="app">
        <input  type="text" v-model="msg">
        <!-- v-model进行的是表单的数据绑定 -->
        {{msg}}
        <!-- 差值表达式 -->
 </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            msg:"hello world"
        }
    })
</script>
</html>

在这里呢,你对应的输入前面的数据改变,也会改变后面的数据

  • v-bind:href
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 这里一定要有你对应的vue的连接 -->
    <script src="./js2/vue.js"></script>
</head>
<body>
 <div id="app">
       <!-- <input type="text" v-model="msg">
       {{msg}} -->

        <a v-bind:href="url">连接1</a>
        <a v-bind:href="url">连接2</a>
        <input type="text" v-model="url">
 </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            // msg: "hello world",
            url:"https://blog.csdn.net/m0_74167954?type=blog"
        }
    })
</script>
</html>

这里生成的是对应的网址链接,那么我们在输入框中自己修改网址链接,那么就会跳转到不同的网页,实现的是动态性修改,类似java中的反射,大家可以后续去尝试

  • v-on:click
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 这里一定要有你对应的vue的连接 -->
    <script src="./js2/vue.js"></script>
</head>
<body>
 <div id="app">
       <!-- <input type="text" v-model="msg">
       {{msg}} -->

        <!-- <a v-bind:href="url">连接1</a>
        <a v-bind:href="url">连接2</a>
        <input type="text" v-model="url"> -->

        
        <input type="button" value="点击" v-on:click="handle">
        <input type="button" value="点击2" @click="handle()">
 </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            // msg: "hello world",
            // url:"https://blog.csdn.net/m0_74167954?type=blog"
        },
        methods: {
            handle:function()
            {
                alert
                ("惦记我")
            }
        }
    })
</script>
</html>

这里的是单击事件绑定,会出现跟事件点击一样的效果

  • v-for
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 这里一定要有你对应的vue的连接 -->
    <script src="./js2/vue.js"></script>
</head>
<body>
 <div id="app">
       <!-- <input type="text" v-model="msg">
       {{msg}} -->

        <!-- <a v-bind:href="url">连接1</a>
        <a v-bind:href="url">连接2</a>
        <input type="text" v-model="url"> -->

        
        <!-- <input type="button" value="点击" v-on:click="handle">
        <input type="button" value="点击2" @click="handle()"> -->

         <div v-for="(item,index) in addrs">{{index}}:{{item}}</div>
 </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            // msg: "hello world",
            // url:"https://blog.csdn.net/m0_74167954?type=blog",
            addrs:["北京","上海","南京"]
        },
        // methods: {
        //     handle:function()
        //     {
        //         alert
        //         ("惦记我")
        //     }
        // }
    })
</script>
</html>

这个就是我们展示效果

我来说下他的具体分析,他是可以自动生成的,addrs就是数据绑定,毕竟学过java嘛,就是知道in访问其中的数据,之后的item以及index当然代表的是数据以及索引,之后的差值表达式{{***}}呢就是数据输出。

值得注意的是,他传递的item正是对应的数据对象,意思就是在后续的数据绑定中你可以访问他的内部属性,下面后面会给大家代码介绍

  • v-if以及v-show
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 这里一定要有你对应的vue的连接 -->
    <script src="./js2/vue.js"></script>
</head>
<body>
 <div id="app">
    
        <input type="text" v-model="age">经过判定,为
        <span v-if="age <= 35">年轻人</span>
        <span v-else-if="age>35&&age<60">中年人</span>
        <span v-else>老年人</span>

        <!-- <span v-show="age<=35">年轻人</span>
        <span v-show="age>35&&age<60">中年人</span>
        <span v-show="age>=60">老年人</span> -->
        <!-- 这里就是全部都进行了渲染,通过display来进行的隐藏 -->
 </div>
</body>
<script>
    new Vue({
        el:"#app",
        data :{
            age:20
        }
    })
</script>
</html>

两者其实并没有明显的区别,唯一的区别就是在你运行网页的时候,浏览器内核是否会将代码进行渲染读取。大家可以看下面的分析

大家可以看到,在检查网页源代码的时候,它显示的仅仅是符合条件的

然后我们对比看v-show可以发现,这里的标签是全部进行了渲染的,只不过是利用css样式进行了隐藏而已

案例基础---实现集合数据显示到网页上面

  • 大家见到的前端网页的数据输入,在此对应数据的显示以及写入数据库,前面我们说把一个功能拆开就可以进行对应的功能细分规划,下面的案例就是为了实现对应的数据展示。
  • 同样这里也是对于前面的v-for循环中对应的数据item对象来进行的代码分析
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 这里一定要有你对应的vue的连接 -->
    <script src="./js2/vue.js"></script>
</head>
<body>
    <div id="app" style="margin: 0 auto;">
        <table border="1" cellspacing="0" width="60%">
            <tr>
                <td>编号</td>
                <td>姓名</td>
                <td>性别</td>
                <td>成绩</td>
                <td>成绩判断</td>
            </tr>
            <tr v-for="(item,index) in users">
                <td>{{index+1}}</td>
                <td>{{item.name}}</td>
                <td>
                    <span v-if="item.gendeer==1">男</span>
                    <span v-if="item.gendeer==2">女</span>
                </td>
                <td>{{users.score}}</td>
                <td>
                    <span v-if="item.score>=90">优秀</span>
                    <span v-if="item.score>=60 && item.score<90">及格</span>
                    <span style="color: rebeccapurple;" v-if="item.score<60">不及格</span>
                </td>
            </tr>
        </table>
    </div>
</body>
<script>
    new Vue({
        el:"#app",
        data :{
            users:[
                {
                    name:"mzh",
                    age:20,
                    gendeer:1,
                    score:99
                },
                {
                    name:"lcc",
                    age:19,
                    gendeer:1,
                    score:80
                },
                {
                    name:"syx",
                    age:20,
                    gendeer:2,
                    score:55
                }
            ]
        }
    })
</script>
</html>

生命周期

我们仅仅需要学习了解对应的生命周期的方法--------mounted()

  • mounted():Vue挂载完成,发送请求到服务端
  • 挂载完成之后,Vue初始化就成功了,html页面渲染成功(发送请求到服务端,加载/获取数据)
  • 搜索智能精选 这个大家可以看看页面渲染的概念


大家如果想要深入的了解的话,推荐宝子们看这个哟,讲述的知识点也更全面广泛

Vue学习之从入门到神经(两万字收藏篇)_vue从入门到神经-CSDN博客文章浏览阅读10w+次,点赞1.6k次,收藏1.3w次。Vue史诗级教程系列文章,欢迎订阅专栏_vue从入门到神经https://blog.csdn.net/weixin_45735355/article/details/118931768?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170602202616777224469004%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170602202616777224469004&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-118931768-null-null.142^v99^pc_search_result_base4&utm_term=Vue&spm=1018.2226.3001.4187


每日分享

宝子们:爱别人的前提是好好爱自己。

晚安在自己的小世界里闪闪发光的我和你们

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜鸟小木

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

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

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

打赏作者

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

抵扣说明:

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

余额充值