一、生命后期

 官网的图片说明:

Vue的生命周期总结

var app = new Vue({el:"#app",            beforeCreate: function(){console.log('1-beforeCreate 初始化之前');//加载loading},created: function(){console.log('2-created 创建完成');//关闭loading
   },beforeMount: function(){console.log('3-beforeMount 挂载之前');},mounted: function(){console.log('4-mounted 被挂载之后');},beforeUpdate: function(){console.log('5-beforeUpdate 数据更新前');},updated: function(){console.log('6-updated 被更新之后');},activated: function(){console.log('7-activated');},deactivated: function(){console.log('8-deactivated');},beforeDestroy: function(){console.log('9-beforeDestroy 被销毁之前');},destroyed: function(){console.log('10-destroyed 销毁之后');}
});

二、数据绑定

1、数据绑定语法

  【文本插值】

<div id="app">{{ Name }}</div>//script
var app = new Vue({el:"#app",data: {Name : '小可爱'}
});

  【HTML属性】

<p v-bind:id="pId">永恒的绽放</p>
//缩写,冒号
<p :id="pId">永恒的绽放</p>//script
var app = new Vue({el:"#app",data: {Name: "小可爱",pId: "wrn"}
});

  【绑定表达式】

{{ Num + 2 }}//成功
{{ Num < 5 ? '小于5' : '大于等于5'}}//成功
{{ Name.split('').join('|') }}//成功
{{ var a = 2 }}//失败
{{ if(Num>2) { return '可怕' } }}//失败//script
data: {Name: "小可爱",pId: "wrn",Num: 5
}

  【过滤器】

//一个过滤器
<p>{{ UserName | toUppercase }}</p>
//多个过滤器,将前一个过滤器的值传给下一个
<p>{{ UserName | toUppercase | addStr }}</p>
//多参数过滤器,默认参数为第一个值
<p>{{ UserName | manyPara('say', 'hello') }}</p>//script
filters: {  toUppercase: function (value) {  return value.toUpperCase();  },addStr: function (value) {  return value + " 老可爱了";   },manyPara: function (p1, p2, p3) {return p1+ ' ' + p2 + ' ' + p3;}
},

  【指令】

<button v-on:click="test(2, $event)">点击</button>
//缩写,@符
<button @click="test(2, $event)">点击</button>//script
methods:{test: function(a, event){    console.log(a);console.log(event);},
} 

2、计算属性(computed)

{{ eYa }}
{{ act }}//script,可以直接当参数使用
computed:{eYa: function(){return this.Num + 5;},act: {get: function(){return this.Num;},set: function(newVaue){this.Num += newVaue;console.log(newVaue)}}
} ,

3、表单控制

  【表单控件】

<input type="text" v-model="InpVal"/>
<p>input的值:<span>{{ InpVal }}</span></p>
<input type="radio" value="1" v-model="rdoVal"/>
<input type="radio" value="2" v-model="rdoVal"/>
<input type="radio" value="3" v-model="rdoVal"/>
<p>radio的值:<span>{{ rdoVal }}</span></p>
<input type="checkbox" value="stay" v-model="ckb1Val"/>
<p>单选checkbox的值:<span>{{ ckb1Val }}</span></p>
<input type="checkbox" value="stay" v-model="ckb2Val"/>
<input type="checkbox" value="with" v-model="ckb2Val"/>
<input type="checkbox" value="me" v-model="ckb2Val"/>
<p>复选checkbox的值:<span>{{ ckb2Val }}</span></p>
<select v-model="sel1Val"><option value="1">如果有天</option><option value="2">我走了</option><option value="3">你会像马达那样</option><option value="4">找我么</option>
</select>
<p>单选select的值:<span>{{ sel1Val }}</span></p>
<select v-model="sel2Val" multiple><option value="0">会一直找么</option><option value="1">会一直找到死么</option>
</select>
<p>复选select的值:<span>{{ sel2Val }}</span></p>

script部分

var app = new Vue({el:"#app",data: {InpVal : "早已沉入冰冷的谷底",rdoVal : 2,ckb1Val : true,ckb2Val : ["stay", "me"],sel1Val : 3,sel2Val : [0, 1],}
});

  需要注意的是sel2val的赋值是int数组,可是在选择值得时候,会变成string数组

  【参数特性】

  .lazy,自动将输入转化为数值类型;

  .number,自动将输入转化为数值类型;

  .trim,自动过滤收尾空白字符;

<input type="text" v-model.lazy="User.Name"/>{{User.Name}}
<input type="text" v-model.number="User.Size"/>{{User.Size}}
<input type="text" v-model.trim="User.Tel"/>{{User.Tel}}//script
data: {User:{Name: "老王",Size: "18",Tel: "110"}
}

4、class与style

  【class】

<p :class="{'ClassA': isA, 'ClassB': !isA}">男孩抓紧领口</p>
<p class="ClassA" :class="BClass">有些感觉是说不出口</p>
<p :class="['AClass', 'BClass']">有些烦恼让人抓破了头</p>//页面
<p class="ClassB">男孩抓紧领口</p>
<p class="ClassA">有些感觉是说不出口</p>
<p class="AClass BClass">有些烦恼让人抓破了头</p>//script
data: {isA: false,AClass: "ClassA",BClassb: "ClassB"
},

  【style】

  注意,border-bottom变量命名为borderBottom

<p :style="StyleInfo">不要哭,这些年都过来了</p>
<p :style="{color: StyleInfo.color}">对不起,盲目的我</p>
<p :style="[StyleInfo, StylePlus]">没有心,只像闲人</p>//页面
<p style="color: red; font-size: 16px;">不要哭,这些年都过来了</p>
<p style="color: red;">对不起,盲目的我</p>
<p style="color: red; font-size: 16px; border-bottom: 1px solid rgb(0, 0, 0);">没有心,只像闲人</p>//script
data: {StyleInfo:{color: "red",fontSize: "16px",},StylePlus:{borderBottom: "1px solid #000"}
},

转载于:https://www.cnblogs.com/blackarrow/p/8582277.html

【Vue.js学习】生命周期及数据绑定相关推荐

  1. Vue js 的生命周期(看了就懂)

    转自: https://blog.csdn.net/qq_24073885/article/details/60143856 用Vue框架,熟悉它的生命周期可以让开发更好的进行. 首先先看看官网的图, ...

  2. Vue.js学习笔记 2022 04 17

    Vue.js学习笔记 1 Vue.js基础 Vue.js介绍 vuejs 渐进式 JavaScript 框架 Vue.js 如何应用 1 在普通html项目中,引入VUE.JS Hb 的项目 生成的 ...

  3. 菜鸟学习----前端vue.js学习01

    菜鸟学习----前端vue.js学习01 项目使用vue.js脚手架,构建项目 1.vue.js构建登录框 登录框架构使用element ui Tabs 标签页,构建基础样式.用户登录,二维码查询,编 ...

  4. Vue生命周期(vue.js学习笔记)

    1.什么是vue的生命周期? 每一个vue实例从创建到销毁的过程,就是这个vue实例的生命周期.在这个过程中,他经历了从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程. ...

  5. Vue父子组件生命周期

    Vue父子组件生命周期 Vue实例需要经过创建.初始化数据.编译模板.挂载DOM.渲染.更新.渲染.卸载等一系列过程,这个过程就是Vue的生命周期,Vue中提供的钩子函数有beforeCreate.c ...

  6. python 全栈开发,Day91(Vue实例的生命周期,组件间通信之中央事件总线bus,Vue Router,vue-cli 工具)...

    昨日内容回顾 0. 组件注意事项!!!data属性必须是一个函数!1. 注册全局组件Vue.component('组件名',{template: ``})var app = new Vue({el: ...

  7. 第五节:轻松掌握 vue 实例的生命周期

    公众号后台收到不少同学催更新,马上来. 上两节我们都是讲vue的实例,简单创建和定义实例的4个常用选项,没看过的伙伴可以先去看上两节,按顺序学习比较容易掌握. 这一节我们学习vue实例的生命周期,没错 ...

  8. 计算属性与监听器、Vue 实例的生命周期

    本文是我在学习过程中记录学习的点点滴滴,仅仅为了学完之后巩固一下,日后忘记了也可以方便快速的复习. 计算属性与监听器.Vue 实例的生命周期 前言 一.计算属性 1.1.计算属性初步理解 1.2.计算 ...

  9. vue实例的生命周期详解

    Vue实例的生命周期 简介 此篇文章说的是最简单的单个VUE组件的生命周期. 官网中的长图诠释了Vue实例从创建,运行到销毁的整个过程.从vue实例的创建,运行,销毁期间,总是伴随着各种各样的事件,这 ...

  10. Vue.js学习的第一天

    Vue.js学习的第一天 官网文档地址:传送门 一.Vue介绍: 1.Vue.js是什么? 作者:2014年2月,尤雨溪曾就职于Google Creative Labs和Meteor Developm ...

最新文章

  1. 新书上市 | 豆瓣评分8.4,美国数学学会推荐必读经典,重版再现!
  2. 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | ClassLoader#loadClass 函数分析 | BaseDexClassLoader#findClass 分析 )
  3. PyQt5 图形界面-用Qt Designer来设计UI界面,并转化为python代码运行实例演示
  4. python 画漫画_在漫画中画一条直线,罗宾逊投影
  5. 【转】【centos】启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结...
  6. C++四种cast操作符
  7. MC新手入门(三十)------ 逻辑运算符和表达式
  8. Ubuntu下的文件安全删除工具
  9. Spring —— context:property-placeholder/元素
  10. MySQL 5.7 update误操作后数据恢复详解
  11. 没有qpress_MySQL 大数据备份方案之Percona XtraBackup
  12. python数据可视化编程实战 第2版 github_Python数据可视化编程实战(三):在Mac OS X上安装matplotlib...
  13. mac自带自动化java_java Mac自动化-java和ant环境搭建
  14. 浏览器了解(一)浏览器大概流程
  15. socket.io实现客户端和服务端的双向通信
  16. 日本将推出“隐形列车”,你要去体验一番吗?
  17. 【原创工具】蓝牙串口无线烧写STM32程序的工具,支持HC-05和CC2541两种蓝牙模块
  18. VS2022编译librtmp制作rtmp.lib用于安装windows版本的python-librtmp 0.3.0
  19. Google地图查地址、经纬度
  20. 通过比赛整理出的8条Numpy实用技巧【你知道如何频数统计和按某列进行排序么?】...

热门文章

  1. 00005在java结果输出_Java-005-运算符详解
  2. js页面加载前执行_做一名合格的前端开发工程师:Javascript加载执行问题探索
  3. niosii spi 外部_基于Nios_II的DMA传输总结
  4. java教学楼的属性_java设计一个父类建筑物building,由它派生出教学楼类classroom,然后采用一些数据进行测试....
  5. 计算几何问题 java_【转载】ACM计算几何题目推荐
  6. 洛谷P1014 [NOIP1999 普及组] Cantor 表
  7. 让python脚本像普通程序一样运行
  8. C++网络编程快速入门(四):EPOLL模型使用
  9. leetcode 37. 解数独 思考分析
  10. Python operator.le()函数与示例