v-cloak:使用的display:none;

直到编译完成后开始显示;

v-text和插值表达式,非必要响应式用v-text会比较好,使用插值表达式要加上v-cloak;

v-html:不推荐使用,动态渲染网页容易导致xss攻击;

本网站内部使用,不应该在来自使用外部数据或者跨域使用;

v-pre:不进行编译,即类似于插值表达式不执行,返回初始状态{{message}}

v-once:只赋值一次,只渲染一次

Vue的v-model使用的是MVVM模式:view和model通过viewmodel进行交互,view通过Data Bindings绑定model

model通过Dom Listeners监听view的值

v-on:事件绑定,可用@表示;

传参时用$event可获取当前使用的控件参数,$event必须放在最后面,相当于选择器例如(event.target.TagName)或(event.target.innerHTML);

不传参时默认调用$event做为第一个参数;

事件修饰符:.stop:阻止冒泡(传统阻止冒泡event.stopPropagetion()):冒泡是指由小到大触发标签或者方法

.prevent:阻止默认行为:指标签默认会产生的行为

按键事件修饰符示例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" v-model="name" @keyup.delete="del">
<input type="text" v-model="pwd" @keyup.enter="handle" @keyup.delete="del">
<input type="button" value="提交" @click="handle">
</div>
<script>
new Vue({
el: '#app',
data: {
name:'',
pwd:''
},
methods:{
handle:function(){
console.log(this.name,this.pwd);
},
del:function(){
this.name='';
this.pwd='';
}
}
})
</script>
</body>
</html>

获取按键修饰符的编号,以使用keycode

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" @keyup="handle($event)">
</div> <script>
new Vue({
el: '#app',
data: {
code:0
},
methods:{
handle:function(event){
console.log(event.keyCode);
}
}
})
</script>
</body>
</html>
Vue.config.keyCodes.a=65;

上方代码可直接通过keyup.a调用对应的按键

*parseInt可强转string类型为int

v-bind:可以用:代替

实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="button" @click="handle()" value="改变">
<a v-bind:href="url">{{name}}</a>
</div> <script>
Vue.config.keyCodes.a=65;
new Vue({
el: '#app',
data: {
name:'必应',
url:'https://cn.bing.com/?mkt=zh-CN'
},
methods:{
handle:function(){
this.name="百度";
this.url="https:\\www.baidu.com";
}
}
})
</script>
</body>
</html>

v-model:实现原理

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" :value="name" @input="handle">
<input type="text" :value="name" @input="handle">
</div> <script>
Vue.config.keyCodes.a=65;
new Vue({
el: '#app',
data: {
name:'陌生人,你好鸭'
},
methods:{
handle:function(event){
this.name=event.target.value;
}
}
})
</script>
</body>
</html>

2021-7-6 VUE笔记的更多相关文章

  1. Vue笔记目录

    Vue笔记目录 一.Vue.js介绍 二.vue基础-vue-cli(vue脚手架) ...持续更新中,敬请期待

  2. 《Vue笔记01: 我与唐金州二三事》

    最近我在收看唐金州在极客时间发布的<vue从入门到精通>,颇有收获. 唐金州,一点资讯前端技术专家,曾在蚂蚁金服就职,也是开源组件库ant design vue的作者,虽然唐老师写的ant ...

  3. Vue笔记--通过自定义指令实现按钮操作权限

    经常做中后台系统,此类系统的权限是比较重要,拿自己做过的一些项目做个笔记. Vue实现的中后台管理系统.按钮操作权限的空置一般都是通过自定义指令Vue.directive. <el-button ...

  4. Vue笔记(有点乱)

    Vue学习笔记(2019.7.31) 目录 Vue学习笔记(2019.7.31) vue 基本指令用法 v-cloak v-text v-html v-bind v-on 跑马灯 v-on v-mod ...

  5. 一个后端开发的 Vue 笔记【入门级】

    一 前言 最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的 ...

  6. vue笔记

    安装vue脚手架工具 sudo cnpm install -g vue-cli

  7. vue笔记 递归组件的使用

    递归组件 什么是递归组件? 组件自身去调用组件自身. 代码示例 DetailList.vue(子组件-递归组件) <template> <div> <div class= ...

  8. vue笔记-列表渲染

    用v-for把一个数组对应为一组元素 使用方法:v-for="(item,index) in items"//也可以使用of替代in { items:源数组 item:数组元素迭代 ...

  9. vue笔记-条件渲染

    条件渲染 1:指令v-if单独使用和结合v-else //单独使用 <h1 v-if="ok">Yes</h1> //组合使用 <h1 v-if=&q ...

  10. 【Vue笔记】-- 详解vue生命周期

    针对于Vue的生命周期进行详细的说明,方面加深对各个方法的引用. 引言: 前几天重新回顾vue官网时,看到vue的生命周期,想着自己用vue开发了快一年了,就总结总结vue知识,再次加深自己对vue的 ...

随机推荐

  1. 笔记七:进程间的通信(IPC通信之信号灯)

    信号量 定义信号变量:  sem_t sem1 sem2 初始化信号量 P操作           V操作    功能 信号量(POSOX) 信号量灯(IPC) 定义信号变量 sem_t  sem1 ...

  2. MASA MinimalAPI源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口

    源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口 1.ServiceBase 1.AutoMapRoute 源码如下: AutoMapRoute自动创建map路由,MinimalA ...

  3. Python_16 session、cookie 鉴权

    一.查缺补漏 1. pprint https://www.cnblogs.com/yjybupt/p/10669988.html https://www.cnblogs.com/wongbingmin ...

  4. 我做了一个 VSCode 插件版的 ChatGPT

    大家好,我是风筝 其实很早之前就想学学 VSCode 插件开发了,但是又不知道做什么,加上我这半吊子前端水平,迟迟没有动手. 最近 ChatGPT 火的一塌糊涂,我也一直在用,真的非常好用,有些问题之 ...

  5. 2022-11-11:设计一个最大栈数据结构,既支持栈操作,又支持查找栈中最大元素。 实现 MaxStack 类: MaxStack() 初始化栈对象 void push(int x) 将元素 x 压

    2022-11-11:设计一个最大栈数据结构,既支持栈操作,又支持查找栈中最大元素. 实现 MaxStack 类: MaxStack() 初始化栈对象 void push(int x) 将元素 x 压 ...

  6. 2022-10-20:以下go语言代码输出什么?A:7;B:7.0;C:0;D:编译错误。 package main import ( “fmt“ ) func main() { const

    2022-10-20:以下go语言代码输出什么?A:7:B:7.0:C:0:D:编译错误. package main import ( "fmt" ) func main() { ...

  7. 2022-04-12:给定一个字符串形式的数,比如“3421“或者“-8731“, 如果这个数不在-32768~32767范围上,那么返回“NODATA“, 如果这个数在-32768~32767范围上

    2022-04-12:给定一个字符串形式的数,比如"3421"或者"-8731", 如果这个数不在-32768~32767范围上,那么返回"NODAT ...

  8. 2021-07-08:股票问题5。给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票)

    2021-07-08:股票问题5.给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 .​设计一个算法计算出最大利润.在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票) ...

  9. 【C++】requires关键字简介

    requires 是 C++20 中引入的一个新关键字,用于在函数模板或类模板中声明所需的一组语义要求,它可以用来限制模板参数,类似于 typename 和 class 关键字. requires关键 ...

  10. 提升 Apache Hudi Upsert 性能的三个建议

    Apache Hudi 社区一直在快速发展,各公司正在寻找方法来利用其强大的功能来有效地摄取和管理大规模数据集. 每周社区都会收到一些常见问题,最常见的问题与 Hudi 如何执行更新插入有关,以确保以 ...