当前位置:首页 > 技术分析 > 正文内容

初学Vue(一) -- Vue简单入门

ruisui882个月前 (04-11)技术分析21

初学Vue(二) -- 条件渲染、修饰符、循环

初学Vue(三) -- 生命周期、过滤器、监听属性、计算属性

初学Vue(四)-- axios前后端交互、组件

初学Vue(五) -- 路由


vue - 国人开发制作的

类似于 view 的发音

vue经过了几次大的版本波动

0.x 0.6版本

1.x 版本

2.x 版本 - 现在常用的

为什么要介绍版本改动呢,因为不同版本语法和用法有差别,用起来比较麻烦

react 因为版权原因,导致百度等企业转用vue,导致vue突然火起来,也有支持国人的成分,当然其中的也缺不了它的确好用。

完整版演示代码


正式部分

vue学习建议先学会js,json

有的人觉得vue或angular不够jquery方便,首先,vue和angular是数据驱动的,而jquery是事件驱动的,也就是说用jquery需要想着给赋予事件,而vue与angular只要想着数据怎么变化就行了。

vue1.0下载

vue2.0下载


vue使用

html部分:
//首先当然是引入vue.js文件
<script src="vue.js"></script>

//vue标准是要用两对花括号圈住数据名的
{{msg}}


js部分:
//使用vue要先new 一个vue对象出来传入json格式的数据
    <script>
        new Vue({
            //作用域:el - element缩写
            el:'body',
            //输出的数据
            data:{
                msg:'hello vue!',
            }
        })
    </script>

{{}} -> 必须在作用域里面放入输出的模板,模板里面放入data里面你自己定义的变量

注意:只有ie8 以上的浏览器才能兼容vue


如何选取class或id为作用域

{{msg}}
<script> new Vue({ //这里选区类与id是与jquery的方式是一样的,id的话就是#myDiv el: '.myDiv', data: { msg:'hello vue!', } }) </script>

常用指令

类似于angular 的常用指令有 ng-show /ng-repeat,vue当然也有。

  • v-show:类似于display,true就是显示false就是隐藏
    

    
<script> //这里定义作用域是必须的,使用vue语句如果不定义作用域是不会起作用的 new Vue({ el:'body', }) </script>


    
<script> new Vue({ el:'body', //也可以利用数据传输来使用,更加灵活 data:{ dis:false, } }) </script>
  • v-for:循环输出数组或json数据
    
{{i}}{{$index}}
{{i}}
{{key}}=>{{value}}
{{$key}}=>{{i}}
<script> new Vue({ el:'body', data:{ //这是个字符串数组 arr:['a','b','c'], json:{ bill:18, bill2:21, bill3:24 } } }) </script>
  • v-for: {{index}} -> 索引值,{{key}} -> key值因为json是键值对,可以理解为数组的索引与值的关系,所以可以用不同方式访问。{{index}}可以进行计算 => {{index+10}} 从10开始计数

v-model:双向绑定 -- 数据和输出绑定


    
        
    {{msg}}
    <script>
        new Vue({
            el:'body',
            data:{
                msg:'',
            }
        })    
    </script>

Vue事件书写区

    

    
<script> new Vue({ el:'body', data:{ dis:true, }, //vue 事件区域,所有事件控制写在这里 methods:{ change:function() { this.dis=!this.dis; } } }) </script>
  • v-on有简写形式@ ,可以直接把v-on替换为@,@click='change'。

事件对象:event

  • 查看事件对象这些演示里面的html部分关于body与html的样式设置是必须的,不然body与html会按内容的大小填充,而不是布满整个页面
html部分:

//这里是必须设置这个样式,不然body的大小是根据页面内容调整大小的



<script>
        new Vue({
            el:'body',
            methods:{
 //事件对象,如果传参只有一个,默认就是事件对象,如果有多个参数传入,那么事件对象就是$event
                show:function(e){
                    console.log(e);
                }
            }
        })
    </script>
  • `@click="show"是可以传递参数给事件的,当它传递参数时,事件处理的形参不再默认为是时间对象,当我们传递参数给事件又想看事件对象时可以用$event
html部分:



js部分:
    <script>
        new Vue({
            el:'body',
            methods:{
                show:function(e,$event){
                    console.log(e,event);
                }
            }
        })
    </script>

事件冒泡:事件冒泡的三种阻止方法

  • 先来看下事件冒泡没有阻止的情况这些演示里面的html部分关于body与html的样式设置是必须的,不然body与html会按内容的大小填充,而不是布满整个页面
html部分:



    
js部分: <script> new Vue({ el:'body', methods:{ myDiv:function() { alert('i am div'); }, myBody:function(event){ alert('i am body'); } } }) </script>
  • event.cancelBubble=true;
html部分:



    
js部分: <script> new Vue({ el:'body', methods:{ myDiv:function() { event.cancelBubble=true; alert('i am div'); }, myBody:function(event){ alert('i am body'); } } }) </script>
  • event.stopProgation();
html部分:



    
js部分: <script> new Vue({ el:'body', methods:{ myDiv:function() { event.stopProgation(); alert('i am div'); }, myBody:function(event){ alert('i am body'); } } }) </script>
  • 直接在click后接.stop其中,上面两个event都是原生方法,所以虽然能用,但是还是不够方便,所以这里使用vue方法来
html部分:



    
js部分: <script> new Vue({ el:'body', methods:{ myDiv:function() { alert('i am div'); }, myBody:function(event){ alert('i am body'); } } }) </script>

阻止默认事件 -- 两种默认事件阻止方式

  • event.preventDefault();这个是原生js方法,能用但是也不够vue方法方便
html部分:
    


            
js部分:
    <script>
        new Vue({
            el:'body',
            methods:{
                myBody:function(){
                    event.preventDefault();
                    alert('我右键了');
                }
            }
        })
    </script>
  • @click.prevent="";
html部分:
    


            
js部分:
    <script>
        new Vue({
            el:'body',
            methods:{
                myBody:function(){
                    alert('我右键了');
                }
            }
        })
    </script>

键盘事件 -- 键盘监控事件利用keydown/up来监控用户按下了什么按键

  • 键盘监控事件
html部分:
    


    
js部分:
        <script>
        new Vue({
            el:'body',
            methods:{
                mybody:function(){
                    alert('我按键盘了');
                }
            }
        })    
    </script>
  • event.keyCode监控用户按键的ASCII码,可以通过查看keyCode来赋予不同按键不同事件,例如通过console.log(event.keyCode);可以看到按键A的键值是65,那么我们可以设置只有当按下A键时才显示的事件@keydown.65等效于if(e.keyCode==65)
html部分:
    


    
js部分:
        <script>
        new Vue({
            el:'body',
            methods:{
                mybody:function(){
                    alert('我按了A键');
                }
            }
        })    
    </script>
  • 可以组合键使用
html部分:
    


    
js部分:
        <script>
        new Vue({
            el:'body',
            methods:{
                mybody:function(){
                    alert('我按了abc键');
                }
            }
        })    
    </script>

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3415.html

标签: vue 修饰符
分享给朋友:

“初学Vue(一) -- Vue简单入门” 的相关文章

2024最新版:前端性能优化方案汇总

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~Hello,大家好,我是 Sunday。前端性能优化一直是很多同学非常关注的问题,在日常的面试中也是经常会被问到的点。所以今天咱们就花一点时间来了解一下2024最新的...

三维家-系统快捷键使用

快键件使用:通过简单的键盘+鼠标操作,快速完成搭配。1.基础快捷键1) Ctrl+V:复制选中对象第一步:鼠标左击物体,按下Ctrl+V 即可复制选中对象。2) Ctrl+G:组合多选对象第一步:按住Ctrl键多选对象--按住Ctrl+G--确定。3) Ctrl+B:解组选中对象第一步:左击选中对象...

三、Uni-app + vue3 页面如何跳转及传参?

Vue 项目往往需要使用 vue-router 插件,刚开始入门 Uni-app + Vue3 项目的同学,会不会想着路由使用 vue-router V4 版本不就可以了吗?不怕大家笑话,我就是这样想的,毕竟我是第一次使用 Uni-app ,由于孕期记性贼差,所以我决定写成笔记,加深记忆。uni-a...

Vue中路由router的基本使用

??本文开始我们来给大家介绍在Vue中非常重要的一个内容,就是路由Router什么是路由后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;前端路由:对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特...

Vue实战篇|使用路由管理用户权限(动态路由)

权限控制是后台管理系统比较常见的需求,如果我们需要对某些页面的添加权限控制的话,那我们可以在路由管理中的权限做一些校验,没有通过权限校验的给出相应的提示或者直接跳转到报错页面。跟着我一起来学vue实战篇路由管理权限吧!权限校验函数getCurrentAuthority()函数用于获取当前用户权限,一...

三勾知识付费(PHP+vue3)微信小程序平台+SAAS+前后端源码

项目介绍三勾小程序商城基于thinkphp8+element-plus+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端:thinkphp8 管理端...