【Vue.js学习】生命周期及数据绑定
一、生命后期
官网的图片说明:
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"
}
},
【Vue.js学习】生命周期及数据绑定的更多相关文章
- Vue js 的生命周期详解
Vue 实例的生命周期 Vue 实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列 过程,我们称这是 Vue 的生命周期.通俗说就是 Vue ...
- vue.js之生命周期,防止闪烁,计算属性的使用,vue实例简单方法和循环重复数据
摘要:今天是比较糟糕的一天没怎么学习,原因是学校的wifi连不上了~~.今天学习一下vue的生命周期,如何防止闪烁(也就是用户看得到花括号),计算属性的使用,vue实例简单方法,以及当有重复数据时如何 ...
- Vue js 的生命周期(看了就懂)
转自: https://blog.csdn.net/qq_24073885/article/details/60143856 用Vue框架,熟悉它的生命周期可以让开发更好的进行. 首先先看看官网的图, ...
- Vue.js之生命周期
有时候,我们需要在实例创建过程中进行一些初始化的工作,以帮助我们完成项目中更复杂更丰富的需求开发,针对这样的需求,Vue提供给我们一系列的钩子函数. vue生命周期 beforeCreate 在实例初 ...
- vue.js的生命周期 及其created和mounted的部分
网上很多人有所总结,转载自: https://segmentfault.com/a/1190000008570622 关于created和mounted的部分,也可以参考: https://blo ...
- Vue.js——5.生命周期
Vue的生命周期 创建阶段new Vue1,beforeCreate() 表示在实例没有被创建出来之前会执行它加载data和methods2,caeated() data 和methods被初始化了 ...
- Vue.js学习笔记 第一篇 数据绑定
双花括号文本插值 先来个最简单的例子,看完之后立马会用Vue了,是不是很有成就感 <!DOCTYPE html> <html> <head> <meta ch ...
- Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖
1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...
- 从零开始学 Web 之 Vue.js(三)Vue实例的生命周期
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- Vue.js-07:第七章 - Vue 实例的生命周期
一.前言 在之前的 Vue 学习中,我们在使用 Vue 时,都会创建一个 Vue 的实例,而每个 Vue 实例在被创建时都要经过一系列的初始化过程.例如,需要设置数据监听.编译模板.将实例挂载到 D ...
随机推荐
- KMP字符串匹配算法理解(转)
一.引言 主串(被扫描的串):S='s0s1...sn-1',i 为主串下标指针,指示每回合匹配过程中主串的当前被比较字符: 模式串(需要在主串中寻找的串):P='p0p1...pm-1',j 为模式 ...
- SSL编程(3).NET实现SSL服务端
准备开发用数字证书 一般学习和开发调试场合,不会随便使用正式的SSL服务器证书的私钥.由于服务器验证对于SSL来说是必须的,SSL服务器端必须有拥有一个服务器 证书,即能够访问到证书的私钥.对于要 ...
- java RMI原理详解
java本身提供了一种RPC框架——RMI(即Remote Method Invoke 远程方法调用),在编写一个接口需要作为远程调用时,都需要继承了Remote,Remote 接口用于标识其方法可以 ...
- [JSOI 2007]字符加密Cipher
Description 题库链接 给你一个长度为 \(n\) 的字符串,首尾相接依次断开每个断点可以得到 \(n\) 个长度为 \(n\) 的字符串,将其排序按序输出每个字符串的最后一个字母. \(1 ...
- http server 简单实现
本blog主要是模仿http server的实现,使得客户端使用浏览器访问server所指定的目录. 当访问的为一个目录时, 则列出改目录下的所有文件 当访问的是文件时,则下载文件到本地 本log仅仅 ...
- [转]Windows 下 Nginx+IIS 使用
本文转自:https://blog.csdn.net/chihen/article/details/52698594 Windows 下 Nginx+IIS 使用 一.Nginx简介 Nginx (& ...
- jQuery实现DropDownList(MVC)
今天学点什么呢?想来想去觉得DropDownList还是要加强功力,因为以前写ASP.NET网站时,此功能用的非常之多.在练习之前,先温习一下以前练习的<Html.DropDownListFor ...
- 使用HtmlAgilityPack抓取Ethereum Tokens信息
使用HtmlAgilityPack抓取Ethereum Tokens信息 class Program { static void Main(string[] args) { try { for (in ...
- MQ单一消息完整流程
public class QueueManger { private static string QueuePath = @".\private$\{0}"; /// <su ...
- 漫画 | Spring AOP
上期,我们看到有小伙伴留言说希望讲讲AOP 然后...... 别激动,来得及 什么是AOP AOP是Spring 框架的一个关键组件,全称为Aspect-OrientedProgramming(面向切 ...