Vue基础和基础代码简介

VUE

1:什么是vue

​ vue是目前最火的一个框架,和angular.js和react.js 一起,并称为前端三大主流框架。

是一套构建用户界面的框架,只管制视图层,它易于上手,便于与第三库和既有羡慕整合。

2:vue入门

1:在页面上导入vue.js

  • <html>
    	<head>
        	<title></title>
            <script src="vue.js"></script>
        </head>
    <body>
      
        <div id="app">        
        </div>    
        <script>
        	var app = new VUE({
                el:'#app',
                data:{
                    
                },
                methods:{
                    
                }            
            });	
        </script>            
        </body>
    </html>
    

    创建vue实例,当我们导入包的时候,在浏览器的内存中,就多了一个vue的构造函数。

    el: 表示,当前我们new 的这个vue的实例。要控制页面的哪个区域,

    data:表示用来保存vue实例的数据,通过vue提供的指令,就能很方便的吧数据渲染到页面上,程序员就不用再手动操作DOM元素了,【vue框架,不提倡我们去操作去手动操作DOM元素。】

    Methods:表示vue实例中的方法的集合,在这里我们可以写我们需要的方法。

3:vue指令

1:插值表达式和v-text

  • <html>
    	<head>
        	<title></title>
            <script src="vue.js"></script>
        </head>
    <body>
      
        <div id="app">   
            <p> 自定义数据++ {{msg}} </p> 
            <!-- {{ }} 表示插值表达式,相当于占位符,
    		对应vue实例上的msg属性,将msg的值显示到页面上
    		并且在插值表达式的前后 可以自定义凭借一切自己的数据
    		-->
            <p v-text="msg"> </p>
            <!--
    		 v-text和插值表达式的作用基本一样,但是v-text会覆盖元素中原本的内容,
    		在元素中只显示msg的值
    		-->
        </div>    
        <script>
        	var app = new VUE({
                el:'#app',
                data:{
                    msg:'测试'
                },
                methods:{
                    
                }            
            });	
        </script>            
        </body>
    </html>)
    

2:v-html

  • <html>
    	<head>
        	<title></title>
            <script src="vue.js"></script>
        </head>
    <body>
      
        <div id="app">   
           <p v-html="msg"></p>
            <!--
    		v-html 可以解析出msg中的html标签,
    		而插值表达式和v-text不可以
    		-->
        </div>    
        <script>
        	var app = new VUE({
                el:'#app',
                data:{
                    msg:'<h1>测试</h1>'
                },
                methods:{
                    
                }            
            });	
        </script>            
        </body>
    </html>
    

3:v-bing 和 v-model

​ v-bing :是vue 中提供的用来单向绑定属性的指令。

​ v-model:是vue 中提供的用来双向绑定属性的指令。

单向绑定:指的是 当data中属性改变,页面对应的值也被改变,

双向绑定:指的是当data中属性改变,页面对应的值也被改变,同时当页面的值改变,data中属性的值也被改变。

  • <html>
    	<head>
        	<title></title>
            <script src="vue.js"></script>
        </head>
    <body>
      
        <div id="app">   
           <input type="button" value="按钮" v-bing:title="msg"/>
            <!--单向绑定,也可以加上自己的需要的东西
    			可以简写为 :  冒号
    			:title="msg"
    		-->
           <input type="button" value="按钮" v-model:title="msg2"/>
            <!--双向绑定,也可以加上自己的需要的东西 -->
        </div>    
        <script>
        	var app = new VUE({
                el:'#app',
                data:{
                    msg:'测试',
                    msg2:'测试2'
                },
                methods:{
                    
                }            
            });	
        </script>            
        </body>
    </html>
    

4:v-on事件绑定

  • <html>
    	<head>
        	<title></title>
            <script src="vue.js"></script>
        </head>
    <body>
      
        <div id="app">   
          <input type="button" value="按钮" v-on:click="show()"/>
            <!-- 
    			v-on:事件名称,可以用来绑定事件,会找到对应的methods 上的对应方法。
    		可以简写为@
    		<input type="button" value="按钮" @click="show"/>
    		可以再 add(传递参数)
    		-->
            
        </div>    
        <script>
        	var app = new VUE({
                el:'#app',
                data:{
                    msg:'测试',
                    msg2:'测试2'
                },
                methods:{
                    show:function(){
                        alert("123");
                    }
                }            
            });	
        </script>            
        </body>
    </html>
    

5:按键修饰符

  1. <html>
    	<head>
        	<title></title>
            <script src="vue.js"></script>
        </head>
    <body>
      
        <div id="app">   
            <!-- 
    			敲击 回车实现 add 事件
    		键盘对应的键码链接 (https://blog.csdn.net/weixin_42218847/article/details/81411291)
    		-->
            <input type="button" value="按钮" @keyup.enter="add"/>      
        </div>    
        <script>
        	var app = new VUE({
                el:'#app',
                data:{
                    msg:'测试',
                    msg2:'测试2'
                },
                methods:{
                    add:function(){
                        alert("123");
                    }
                }            
            });	
        </script>            
        </body>
    </html>
    

6:class绑定

  • <div id="app">
        <div :class="{'active':isActive}"></div>
    </div>
    <script>
    var app = new Vue({
        el:'#app',
        data:{
            isActive:true
        }
    })
    </script>
    

最终渲染结果为:

7:v-for 循环

  • <html>
    	<head>
        	<title></title>
            <script src="vue.js"></script>
        </head>
    <body>
      
        <div id="app">   
            <!-- user代表每次循环的变量,i表示下标从0开始
    			in  list 表示循环的对象是什么。
    			:key 表示主键 保证数据的唯一性。
    		-->
         <p v-for="(user,i) in list" :key="user.id">
         	{{ user.id }}   
         </p>
        </div>    
        <script>
        	var app = new VUE({
                el:'#app',
                data:{
                   list:[
                       {id:1,name="123"},
                       {id:2,name="123"}
                   ]
                },
                methods:{
                }            
            });	
        </script>            
        </body>
    </html>
    

8:vue获取dom对象的方法

<html>
	<head>
    	<title></title>
        <script src="vue.js"></script>
    </head>
<body>
  
    <div id="app">   
      	<h1 ref="demo">
            测试
        </h1>
        <button type="button" @click="demo()"></button>
    </div>    
    <script>
    	var app = new VUE({
            el:'#app',
            data:{
               
            },
            methods:{
                demo:function(){
                    console.log(this.$refs.demo.innerText);
                }
            }            
        });	
    </script>            
    </body>
</html>

4:vue上的data数据操作

1:data上数组添加元素

<html>
	<head>
    	<title></title>
        <script src="vue.js"></script>
    </head>
<body>
  
    <div id="app">  
     
    </div>    
    <script>
    	var app = new VUE({
            el:'#app',
            data:{
               list:[
                   {id:1,name="123"},
                   {id:2,name="123"}
               ]
            },
            methods:{
                //this 表示当前vue实例
                //this.list 指向data上的list
                //push 添加数据 
                add:funciton(){
                    var car={id:3,name="12313"};
            		this.list.push(car);
                }
            }            
        });	
    </script>            
    </body>
</html>

2:data数组遍历和删除的方法

<html>
	<head>
    	<title></title>
        <script src="vue.js"></script>
    </head>
<body>
  
    <div id="app">  
     
    </div>    
    <script>
    	var app = new VUE({
            el:'#app',
            data:{
               list:[
                   {id:1,name="123"},
                   {id:2,name="123"}
               ]
            },
            methods:{
                //根据id删除
                //some()方法用于检测数组中的元素是否满足条件
                //some() 方法会依次执行数组的每个元素如果满足					条件返回true 剩余的不会再次执行 
                //不满组就返回false 
                //splice 用来删除 第一个单数单表下标,第二个					参数代表删除几个。
                //第三个参数代表替换的值,可以不写。
                
                del:function(id){
                	this.list.some((item,i)=>{
                        if(item.id == id){
                           this.list.splice(i,1);
                         }
                        return true;
                    }
            	}
            }            
        });	
    </script>            
    </body>
</html>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值