博客
关于我
vue学习第二天——表单修饰符、自定义指令、侦听器、计算属性、过滤器、生命周期、ES6常用方法
阅读量:711 次
发布时间:2019-03-21

本文共 1702 字,大约阅读时间需要 5 分钟。

Vue.js学习笔记

MVVM架构

Vue.js采用MVVM(Model-View-ViewModel)架构,主要包括三层:

  • 数据层(Model):负责数据的存储和持久化
  • 视图层(View):负责数据的展示
  • 控制器(ViewModel):实现数据层和视图层的双向同步

通过简单的示例,可以快速理解Vue.js的基本工作原理。

表单修饰符

v-model是Vue.js的核心表单修饰符,用于实现表单数据与 Vue 实例的双向绑定。

  • 简单输入:v-model.trim 可以控制输入的 trimming
  • 单选框:通过v-model实现选项的加绑
  • 多选框:multiple属性可用来设置多选
  • Checkbox:通过v-model实现复选框的绑定

自定义指令

自定义指令可以扩展Vue.js的功能,例如添加自定义的指令,如v-focusv-color

Vue.directive("focus", { inserted: function (e) { e.focus(); }});
Vue.directive("color", { bind: function (e, binding) { e.style.backgroundColor = binding.value.color; }});< input type="text" v-focus >< input type="text" v-color="msg" class="txt" >

侦听器

侦听器(watch)用于在数据变化时执行回调函数,常用于实时反射数据变化。

章 节:- created:初始化完成时触发- mounted:.vue组件挂载完成时触发- beforeUpdate:数据更新前触发- updated:数据更新后触发示例:data() {  return {    fName: '',    lName: '',    aName: ''  }},watch: {  fName(val) {    this.aName = this.lName + val;  },  lName(val) {    this.aName = val + this.fName;  }},methods: {}

计算属性

与侦听器不同,计算属性(computed)会对其依赖进行缓存,提高性能。

computed: {  reverseStr() {    return this.msg.split('').reverse().join('');  }},methods: {  reverseMsg() {    return this.msg.split('').reverse().join('');  }}

过滤器

过滤器(filter)用于对数据格式化,可以用于输出简化显示。

< p >{msg | lower}

过滤器注册:Vue.filter("lower", function (v) { return v.charAt(0).toLowerCase() + v.slice(1);});

结果将变为: 'school'

内置过滤器 toComputed 可用于转换类型:

{{ num | toComputed型 }}重点在于,过滤器的执行顺序:第一个参数(name)要先传,然后是具体参数。

生命周期

Vue.js的生命周期方法完整清晰,便于在不同阶段执行逻辑。

mounted: function () {   console.log("组件已挂载"); }, beforeUpdate: function () {   console.log("数据更新前"); }, updated: function () {   console.log("数据已更新"); }

其中:

  • beforeCreatebeforeMount 足够描述各种常见需求。

ES6特性

与ES6/ES7相关的Vue.js特性,比如数组方法、回收机制等。

转载地址:http://okyrz.baihongyu.com/

你可能感兴趣的文章
Processes
查看>>
Processing通过编程实现艺术设计_实现艺术和现实的交互---数据设计分析002
查看>>
ProcessOnLoading
查看>>
SpringBoot中集成screw(螺丝钉)实现数据库表结构文档生成
查看>>
PROFINET 模拟器使用教程
查看>>
Program type already present: android.support.v4.widget.EdgeEffectCompat
查看>>
PyTorch中文版官方教程来啦(附下载)
查看>>
Progress Kemp LoadMaster 远程命令执行漏洞复现(CVE-2024-1212)
查看>>
Project configuration is not up-to-date with pom.xml. Run Maven->Update Project
查看>>
Project Euler 15 Lattice paths
查看>>
Project Euler 48 Self powers( 大数求余 )
查看>>
Project Euler Problem 12: Highly divisible triangular number
查看>>
ProjectEuler 2
查看>>
projection介绍及EPSG:4326和EPSG:3857的投射转换
查看>>
project打开文件时,显示无法识别此文件格式?
查看>>
Prometheus + Grafana on Kubernetes部署
查看>>
prometheus + grafana进行服务器资源监控
查看>>
Prometheus Alertmanager 告警配置详解
查看>>
Prometheus Grafana 展示平台
查看>>
Prometheus pushgateway使用详解
查看>>