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. JVM有意思的图-持续更新

    放一些JVM有意思的图 通过一行代码联想JVM:

  2. 高阶函数_函数柯里化 以及 setState中动态key

     使用柯里化: 1 state = { 2 username: "", 3 password: "", 4 }; 5 render() { 6 return ( ...

  3. 【机器学习与深度学习理论要点】07.A/B测试的概念及用法

    1)什么是A/B测试? A/B测试就是两种模型同时运行,并在实际环境中验证其效果的方式.在互联网公司中,A/B测试是验证新模块.新功能.新产品是否有效,新算法.新模型的效果是否有提升,新设计是否收到用 ...

  4. 基于create-react-app构建静态博客

    前言: 用过hexo后,我被其强大的功能惊艳到了,于是便想自己也写一个静态博客生成器,并且可以发布到GitHub托管. 首先我们来看下效果图: 具体是怎么实现的呢? 我们通过create-react- ...

  5. [AGC001E] BBQ Hard题解

    Problem [AGC001E] BBQ Hard 计算: \[\sum_{i=1}^{n}\sum_{j=i+1}^n\binom{a_i+b_i+a_j+b_j}{a_i+a_j} \] 其中\ ...

  6. vue全家桶进阶之路26:Vue.js 3.0与Vue.js 2.x 的比较和注意事项

    Vue.js 3.0 是 Vue.js 框架的最新版本,于 2020 年 9 月正式发布.Vue.js 3.0 主要的改进和新特性包括: 更好的性能:Vue.js 3.0 使用了更快的虚拟 DOM 实 ...

  7. python通过变量名称的反射,获取变量的引用

    有一些极端情况下,例如变量名称是动态的,我们无法直接调用变量名,如何获取到变量的引用呢? aa = [globals()["xxxx"]]

  8. IntelliJ IDEA一站式配置【全】(提高开发效率)

    IDEA常用设置(提高开发效率) 本人也是IDEA编译器的忠实用户了,但是有时出于各种原因,比如更换设备等等,IDEA总是需要重新安装配置.这就让我比较苦恼,因为总是记不全自己之前都修改了哪些地方(原 ...

  9. < Python全景系列-6 > 掌握Python面向对象编程的关键:深度探索类与对象

    欢迎来到我们的系列博客<Python全景系列>!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法.无论你是编程新手,还是有一 ...

  10. ES6迭代器(Iterator)和生成器(Generator)

    平时我们迭代数据用得最多的应该就是for循环了 来看个简单的例子 var colors = ["red", "green", "blue"] ...