IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue学习第二节 -> 正文阅读

[JavaScript知识库]Vue学习第二节


一、vue事件的基本使用

?1:例如使用v-on:xxx或者 @xxx 来绑定事件。xxx为事件名称;

<button v-on:click = "study(1)">按钮1</button>
<button @click = "study1(1)">按钮2</button>

2:事件的回调需要配置在methods对象中最终会呈现在vm对象上;

 new Vue({
        el: '#id',
        data: function () {
            return {
                name:'这是name;',
            }
        },
        methods:{
            study(id){  //事件绑定的方法
                alert('按钮1'+id)
            },
            study1(id){
                alert('按钮2'+id)
            }
        }
    })


3:methods中配置的函数不要使用箭头函数,否则this就不是vm对象,此时的thiswindow对象;

二、vue中的事件修饰符(具体效果可自测)

1、prevent:阻止默认事件(常用)

2、stop:阻止事件冒泡(常用)

3、once:事件只触发一次(常用)

4、capture:使用事件的捕获模式

5、self:只有event.target是当前操作的元素时才触发的事件

6、passive:事件的默认行为立即执行,无需等待事件回调执行完毕

<div id="root">
    <h1>{{title}}</h1>

    <!--prevent:阻止默认事件-->
    <a :href="url" v-on:click.prevent='showInfo'>这是去百度的链接-阻止默认事件</a><br><br>

    <!--prevent:阻止事件冒泡-->
    <div @click = 'showInfo' style="background-color: red;width: 300px;height: 300px">
        <button @click.stop = 'showInfo' style="background-color: chartreuse;width: 200px;height: 200px">
            点我提示信息 Do you know?
        </button>
    </div>
    <br><br>

    <!--once:事件只触发一次-->
    <a :href="url" v-on:click.prevent.once='showInfo'>这是去百度的链接-事件只触发一次</a><br><br>
</div>
</body>

<script>
    Vue.config.productionTip = false;
    //实例1
    const vm = new Vue({
        el: '#root',
        data: function () {
            return {
                title: '这篇是事件修饰符;',
                url: 'http://www.baidu.com',
            }
        },
        methods: {
            showInfo(id) {  //事件绑定的方法
                alert('测试一下')
            },

        }
    })
</script>

三、vue中的键盘事件

1、vue中常用的按键别名:

回车 => enter
删除 => delete(捕获删除和退格键)
退出 => esc
空格 => space
换行 => tab(特殊,需要配合keydown使用)
上 => up
下 => down
左 => left
右 => right

2、vue中未提供别名的按键,可以使用按键原始的key值去绑定,但需要注意要转为kebab-case(短横线命名)

3、系统修饰键(用法比较特殊)ctrl、alt、shift、meta(window键)
??????? (1)配合keyup使用:按下修饰键的同时,再按下其他键,随后释放其他键,事件才会触发;
??????? (2)配合keydown使用,正常触发事件;

4、也可以使用keyCode去指定具体的按键(不推荐使用)

5、vue.config.keyCodes.自定义键名 = 键码?? (不推荐使用)

四、计算属性(computed

定义:需要使用的属性不存在,需要通过已有的属性计算得来;
原理:底层借助了Object.defineproperty方法提供的getersetter;

get函数什么时候执行?
??????? (1)初次读取时会执行一次;
??????? (2)当依赖的数据发生变化时会被再次调用;

优势:与methods实现相比。内部有缓存机制(复用),效率更高,调试方便。

备注:
1:计算属性最终会出现在vm上,直接读取使用即可。
2:如果计算属性要被修改,那必须要写set函数去响应修改,并且set中要引起计算时所依赖的数据发生变化。

例子:

<div id="root">

    姓: <input type="text" v-model='firstName'><br><br>
    名: <input type="text" v-model='lastName'><br><br>
    全名: <span>{{fullName}}</span>
</div>
</body>

<script>
    Vue.config.productionTip = false;
    //实例1
    const vm = new Vue({
        el: '#root',
        data: function () {
            return {
                firstName: '张',
                lastName: '三三',
            }
        },
        methods: {

        },
        computed: {
            fullName: {
                get() {
                  return  this.firstName + this.lastName;
                }
            }

        }
    })
</script>

五、监视属性(watch

1:当被监视的属性变化时,回到函数自动调用来进行相关操作;

2:监视的属性必须存在,才可监视。

3:监视属性的两种写法:
??????? (1)new Vue时传入watch配置;
??????? (2)通过vm.$watch来监视;
例如:

深度监视:

watch配置项中配置 deep:true,//开启深度监视
vue中的watch默认是不检测对象内部值的改变(一层数据结构),配置deep:true可以检测对象内部值的改变(多层);
注:使用watch时根据数据的具体结构,决定是否开启深度监视。
?

computedwatch之间的区别:

computed能完成的功能watch都可以完成;watch能完成的功能computed不一定能完成。例如:watch可以进行异步操作;

重要的小原则:

所有被Vue所管理的函数,最好写成普通函数,这样this指向的才是vm或者组件实例对象。

所有不被Vue所管理的函数(如定时器的回调函数、ajax的回调函数、Promise的回调)最好写成箭头函数,这样this指向的才是vm或者组件实例对象。




?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 17:34:47  更:2021-12-16 17:36:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:02:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码