Vue.js文档学习
Vue细碎小点
生命周期钩子:created()、mounted()、updated()、destroyed()
不要在选项属性或回调上使用箭头函数,比如
created: () => console.log(this.a)
vm.$watch('a',newValue => this.myMethod())
因为箭头函数是和父级上下文绑定在一起的,this不会是如你预期的Vue实例,经常导致
Uncaught TypeError: Cannot read property of undefined
或
Uncaught TypeError: this.myMethod is not a function
{{}}双大括号语法,又叫'Mustache'语法,只能绑定单个表达式,不能是语句,或者流控制。
v-once v-html(容易导致XSS攻击,绝对不要对用户提供的内容使用插值)
? XSS攻击:全称为:跨站脚本攻击(Cross Site Scripting)
计算属性
对于任何复杂逻辑,你都应当使用计算属性。
// 属性reversedMessage的getter函数
computed: {
reversedMessage: function(){
return this.message.split('').reverse().join('')
}
}
计算属性是基于它们的依赖进行缓存的,只在相关依赖发生改变时它们才会重新求值。
Date.now()不是响应式依赖。
相比之下,每当出发重新渲染时,调用方法将总会再次执行函数。
侦听属性:watch(命令式的)
// 计算属性的setter
computed: {
fullName: {
// getter
get: function() {
return this.firstName + ' ' + this.lastName
},
//setter
set: function(newValue) {
var names = newValue.split(' ')
this.firstName = names[0]
this.lastName = names[names.length - 1]
}
}
}
}
现在再运行 vm.fullName = 'John Doe' 时,setter 会被调用,vm.firstName 和 vm.lastName 也会相应地被更新。
侦听器:
需要在数据变化时执行异步或者开销较大的操作时,这个方法最有用。
?绑定HTML Class:
<div v-bind:class="(active: isActive)"></div>
上面的语法表示这个class是否存在取决于数据属性isActive的值。其也可以与普通class属性共存。
<div class="static"
v-bind:class="{ active: isActive, 'text-danger': hasError }">
</div>
绑定的数据对象不必内联定义在模板中,
<div v-bind:class="classObject"></div>
data: {
classObject: {
active: true,
'text-danger': false
}
}
或者我们可以绑定一个返回对象的计算属性。
<div v-bind:class="classObject"></div>
data: {
isActive: true,
error: null
},
computed: {
classObject: function () {
return {
active: this.isActive && !this.error,
'text-danger': this.error && this.error.type === 'fatal'
}
}
}
数组:
应用一个class列表:
<div v-bind:class="[activeClass, errorClass]"></div>
data: {
activeClass: 'active',
errorClass: 'text-danger'
}
当在一个自定义组件上使用 class 属性时,这些类将被添加到该组件的根元素上面。这个元素上已经存在的类不会被覆盖。
Vue.js文档学习的更多相关文章
- Vue.js文档
参考网址:https://vuefe.cn/ 第一 安装 1.下载到本地后使用<script>标签直接引入 2.使用CDN引入 例如:使用CDN引入 <script src=&qu ...
- EasyUI文档学习心得
概述 jQuery EasyUI 是一组基于jQuery 的UI 插件集合,它可以让开发者在几乎完全不需要CSS以及复杂的JS代码情况下完成美观且功能强大的Web界面. 本文主要说明一些如何利用Eas ...
- 解放生产力,自动化生成vue组件文档
一.现状 Vue框架在前端开发中应用广泛,当一个多人开发的Vue项目经过长期维护之后往往会沉淀出很多的公共组件,这个时候经常会出现一个人 开发了一个组件而其他维护者或新接手的人却不知道这个组件是做什么 ...
- gulpfile.js文档
gulp watch 实现监听不仅需要package.json文档,还需要gulpfile.js文档.否则无法实现. 1.gulp的安装 1.1 首先必须先安装node.js.这个可以参考之前的博客& ...
- 使用node.js 文档里的方法写一个web服务器
刚刚看了node.js文档里的一个小例子,就是用 node.js 写一个web服务器的小例子 上代码 (*^▽^*) //helloworld.js// 使用node.js写一个服务器 const h ...
- Spring文档学习
Spring文档学习 参考Spring Framework Documentation学习 1. IoC 容器 1.1 容器实例化 <beans> <import resource= ...
- Vue.js 源码学习笔记
最近饶有兴致的又把最新版 Vue.js 的源码学习了一下,觉得真心不错,个人觉得 Vue.js 的代码非常之优雅而且精辟,作者本身可能无 (bu) 意 (xie) 提及这些.那么,就让我来吧:) 程序 ...
- vite插件-自动生成vue组件文档
特点 支持热更新 快速启动,依赖于 vite,无需另起服务 自动生成组件导航 ui 采用了vant-ui的样式 核心方法覆盖率达到了 92.86% 使用 yarn add vite-plugin-vu ...
- 打造自己的Vue组件文档生成工具
程序员最讨厌的两件事情,第一种是写文档,另一种是别人没有写文档.有没有直接根据vue组件生成文档的呢?当然是有的的.但第三方使用起来不一定能和现有项目结合使用,往往需要额外的注释用来标记提取信息.使用 ...
随机推荐
- flex:1 内容不要撑开
.content { flex: 1; overflow: hidden: }
- 【学习总结】Python-3-风格各异的数值类型实例
菜鸟教程-Python3-基本数据类型 可能是考点的各种形态的数值类型 int型:正数负数,八进制0开头,十六进制0x开头 float型:小数点的前后都可以没有数字,自动补全 complex型:虚部的 ...
- sql 根据身份证判断年龄是否小于18岁
SELECT *, Age= datediff(yy,cast(case when substring(PersonalId,,) ') /*若第7位不是'1'或'2'则表示是15位身份证编码规则*/ ...
- 2019-9-29-dotnet-对-DateTime-排序
title author date CreateTime categories dotnet 对 DateTime 排序 lindexi 2019-09-29 14:55:49 +0800 2019- ...
- docker 安装nexus
1.查找镜像 docker search nexus 2.拉取镜像 docker pull sonatype/nexus3 3.启动容器 docker run -d -p 8081:8081 -p 8 ...
- SpringMvc获取前端的数据@RequestBody请求体/@PathVaribale/@RequestParam【支持Ajax】
一.@RequestBody请求体 注意请求体只有form表单才有,而对于链接来说不使用 1).在Controller中写 @RequestBody String body是基本用法 另外可以封装对象 ...
- Oracle查询用户所有表
https://blog.csdn.net/wssiqi/article/details/44617197 Oracle查询用户所有表 下面为您介绍的语句用于实现Oracle查询用户所有表,如果您 ...
- 理解Python中的继承规则和继承顺序
先来看一段代码: class First(object): def __init__(self): print ("first") class Second(object): de ...
- Android中应用锁的实现之账号盗取
一.前言 前几天忙着公司的活,最近又可以歇歇了,休息不能不做事呀?今天就来研究一下Android中应用锁的实现.应用锁顾名思义就是对app进行加密,在打开app的时候需要输入指定的密码才能打开应用. ...
- SCP-Py-002
项目编号:Py-002 项目等级:EuclidKeter 特殊收容措施: Py-002-1目前被映射在Researcher Kevin的服务器位于Site-Pyproject地下防无线电渗透室且被切断 ...