Vue入门级教学基础入门语法(小白式入门教学)

Vue实战

1、Vue引言

渐进式 JavaScript框架

渐进式:

  1. 易用:html css JavaScript
  2. 高效:开发前端页面高效
  3. 灵活 开发灵活 多样性

总结:

​ Vue是一个JavaScript框架

​ 后端服务开发人员:Vue 渐进式JavaScript框架 :让我们通过操作很少的DOM,甚至不需要操作页面中任何DOM元素,就很容易的完成数据和视图绑定—》双向绑定 MVVM

注意:日后在使用Vue过程中页面不需在引入Jquery框架(Vue本身就不希望我们去操作页面任何DOM元素

Jquery需要频繁的操作页面的Dao元素,已经被淘汰了

发展阶段:

​ htmlcss-----> JavaScript -----> jquery -------> angularjs -------> Vue(可以说Vue的出现产生了翻天覆地的变化,企业80%都在使用)

2、Vue入门

2.1、下载Vue.js

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

2.2、Vue第一个入门应用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    小爽帅到拖网速!
<div id="app">
    {
   
   {msg}}
    <span> {
   
   {username}}</span>
</div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速2",
            username:"郑爽"
        },
    });
</script>
# 总结:
	1、vue实例(对象)中的el属性:  代表Vue的作用范围,日后在Vue的作用访问内都可以使用Vue的语法
	2、vue实例(对象)中的data属性: 用来给Vue实例绑定一些相关的数据,绑定的数据可以通过{
   
   {变量名}}在vue的作用范围内去取出来
	3、在使用{
   
   {}}进行获取data中数据时,可以在{
   
   {}}中书写表达式,运算符,以及逻辑运算等
	4、el属性中可以书写任意CSS选择器[jquer选择器],但是在使用Vue开发是推荐使用 id选择器 

3、v-text和v-html

3.1、v-text

v-text: 用来获取data中数据将数据以文本的形式渲染到指定标签内部,类似于JavaScript 中的innerText
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">

    <h1 v-text="msg"></h1>
    <span>{
   
   {msg}}</span>
</div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速",
        },
    });
</script>
# 注意
 	1、{
   
   {}}插值表达式和v-text获取数据的区别
 		a、使用v-text取值会将标签中原有的数据覆盖,使用{
   
   {}}插值表达式的形式不会覆盖标签中原有的数据
 		b、使用v-text可以避免在网络环境较差的时候出现插值闪烁,没有就是没有,而{
   
   {}},会直接显示{
   
   {}msg}

3.2、v-html

v-html : 用来获取data中数据将数据中含有的html标签先解析在渲染到指定标签的内部 类似于JavaScript中的innerhtml
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


</head>
<body>
<div id="app">
    </div>
    <br>
    <span>{
   
   {a}}</span>
    <br>
    <span v-html="a"></span>
</div>

</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            a:"<a href='http://baidu.com'>百度欢迎你!</a>"
        },
    });
</script>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3DO3xGwx-1608881390113)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201126181515238.png)]

4、vue中的事件绑定(v-on)

4.1、绑定事件语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--
       1、页面中提供按钮
       2、按钮绑定单机事件
       3、在单击事件中修改年龄的值,通过渲染页面
-->
<div id="app">
    <h2>姓名:{
   
   {msg}}</h2>
    <input type="button"  value = "点我改变年龄" v-on:click="changeage">
    <h2>年龄:</h2>
</div>
</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速",
            age:23
        },
        methods:{
     
        //用来定义vue中的事件
            changeage:function(){
     
     
                alert("你好");
                this.msg;
            }
        }
    });
</script>
# 总结
事件三要素
	事件源 :发生事件dom元素(html标签)
    事件:发生特定的动作 click,双击....
    监听器 :发生特定动作之后的事件处理程序(使用函数完成)  通常指js中的函数
 	1、在vue中绑定的事件是通过v-on指令来完成的,v-on:事件名  如 v-on:click
 	2、在v-on:事件名的赋值语句中是当前时间触发调用的函数名
 	3、在vue中事件的函数统一定义在Vue实例的methods属性中
 	4、在vue定义的事件中this指就是当前的Vue实例,日后可以在事件中通过使用this获取Vue实例变量的值

4.2、Vue事件的简化写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


</head>
<body>
<!--
       1、页面中提供按钮
       2、按钮绑定单机事件
       3、在单击事件中修改年龄的值,通过渲染页面
-->
<div id="app">
    <h2>姓名:{
   
   {msg}}</h2>
    <input type="button"  value = "通过v-on事件修改年龄每次+1" v-on:click="add">
    <input type="button"  value = "通过@绑定时间修改年龄每次-1" @click="mul">
    <h2>年龄:{
   
   {age}}</h2>
</div>

</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速",
            age:23
        },
        methods:{
     
        //用来定义vue中的事件
            add:function(){
     
     
                //在函数中获取vue实例中的数据
                // console.log(this);
                this.age ++;
            },
            mul:function () {
     
     
                this.age--;
            }

        }

    });
</script>
 # 总结
 	1、日后在vue中绑定事件时可以通过@符号形式  简化  v-on的事件绑定

4.3、vue事件函数的两种写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


</head>
<body>
<!--
       1、页面中提供按钮
       2、按钮绑定单机事件
       3、在单击事件中修改年龄的值,通过渲染页面
-->
<div id="app">
    <h2>姓名:{
   
   {msg}}</h2>
    <input type="button"  value = "通过v-on事件修改年龄每次+1" v-on:click="add">
    <input type="button"  value = "通过@绑定时间修改年龄每次-1" @click="mul">
    <h2>年龄:{
   
   {age}}</h2>
</div>

</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速",
            age:23
        },
        methods:{
     
        //用来定义vue中的事件
            /*add:function(){
                //在函数中获取vue实例中的数据
                // console.log(this);
                this.age ++;
            },
            mul:function () {
                this.age--;
            }*/
            add() {
     
     
                this.age++;
            },
            mul(){
     
     
                this.age--;
            }
        }

    });
</script>
# 总结
 	1、在vue中事件定义存在两种写法  一是  函数名:function(){}  二是  函数名(){}  推荐

4.4、事件参数传递

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


</head>
<body>
<!--
       1、页面中提供按钮
       2、按钮绑定单机事件
       3、在单击事件中修改年龄的值,通过渲染页面
-->
<div id="app">
    <h2>姓名:{
   
   {msg}}</h2>
    <input type="button"  value = "改变age指定的值" @click="changeage(100,'小爽帅到脱网速2')">
    <h2>年龄:{
   
   {age}}</h2>
</div>

</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速",
            age:23
        },
        methods:{
     
     
            changeage(age,msg) {
     
     
                this.age = age;
                this.msg = msg;
            }

        }

    });
</script>
# 总结
	在使用事件时,可以直接在事件调用时给事件进行参数传递,在事件定义出通过定义对应变量接收传递的参数

4.5案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


</head>
<body>
<!--
       1、页面中提供按钮
       2、按钮绑定单机事件
       3、在单击事件中修改年龄的值,通过渲染页面
-->
<div id="app">
    <input type="button"  value = "+" @click="add">
    <h1>{
   
   {msg}}-------------->  {
   
   {age}}</h1>
    <input type="button"  value = "-" @click="mul">
</div>

</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速",
            age:1
        },
        methods:{
     
     
            add(){
     
     
                if (this.age<10){
     
     
                    this.age++;
                }else {
     
     
                    alert("规定不能超过10!")
                }


            },
            mul(){
     
     
                if (this.age<0){
     
     
                    alert("age小于0,不能再减了!")
                }else{
     
     
                    this.age--;
                }
            }

        }

    });
</script>

5、v-show & v-if & v-bind

5.1、v-show

用来控制页面元素是否展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


</head>
<body>
<!--
       1、页面中提供按钮
       2、按钮绑定单机事件
       3、在单击事件中修改年龄的值,通过渲染页面
-->
<div id="app">
    <!--
        v-show:用来控制标签展示还是隐藏
    -->
    <h1 v-show="false">{
   
   {msg}}</h1>

</div>

</body>
</html>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--页面加载的顺序是从上到下,所以Vue的代码必须放在DOM渲染之后-->
<script>
    const app = new Vue({
     
     
        el:"#app",//用来给Vue实例定义一个作用范围
        data:{
     
     //用来给Vue实例定义一些相关的数据
            msg:"小爽帅到拖网速",
            age:1,
        },
        methods:{
     
     

        }

    });
</script>
# 总结
	1、在使用v-show时可以直接书写boolean值控制元素展示,也可也通过变量控制标签展示和隐藏
	2、在v-show中可以通过boolean表达式控制标签的展示隐藏

5.2 、v-if

​ v-if:用来控制页面元素是否展示 底层是控制Dom元素

5.3、v-bind

​ v-bind:用来给标签绑定相应属性

5.4、v-bing简化写法

​ vue 为了方便我们日后绑定标签属性提供了对属性绑定的简化写法 如:v-bind:属性名,简化之后 :属性名

总结:

	1、v-show 作用 : 用来控制页面中的标签是否展示   底层通过控制元素的display属性来进行标签的显示和不显示控制
	2、v-if  作用 : 用来控制页面中的标签是否展示  底层通过对dom树节点进行添加和删除来控制展示和隐藏
	3、v-bind 作用 : 用来给页面中标签元素绑定相应的属性给Vue,实现Dom树元素节点属性的动态变化

猜你喜欢

转载自blog.csdn.net/weixin_46195957/article/details/111684293
今日推荐