一、生命后期

 官网的图片说明:

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学习】生命周期及数据绑定的更多相关文章

  1. Vue js 的生命周期详解

    Vue 实例的生命周期 Vue 实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列 过程,我们称这是 Vue 的生命周期.通俗说就是 Vue ...

  2. vue.js之生命周期,防止闪烁,计算属性的使用,vue实例简单方法和循环重复数据

    摘要:今天是比较糟糕的一天没怎么学习,原因是学校的wifi连不上了~~.今天学习一下vue的生命周期,如何防止闪烁(也就是用户看得到花括号),计算属性的使用,vue实例简单方法,以及当有重复数据时如何 ...

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

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

  4. Vue.js之生命周期

    有时候,我们需要在实例创建过程中进行一些初始化的工作,以帮助我们完成项目中更复杂更丰富的需求开发,针对这样的需求,Vue提供给我们一系列的钩子函数. vue生命周期 beforeCreate 在实例初 ...

  5. vue.js的生命周期 及其created和mounted的部分

    网上很多人有所总结,转载自: https://segmentfault.com/a/1190000008570622   关于created和mounted的部分,也可以参考: https://blo ...

  6. Vue.js——5.生命周期

    Vue的生命周期 创建阶段new Vue1,beforeCreate() 表示在实例没有被创建出来之前会执行它加载data和methods2,caeated() data 和methods被初始化了 ...

  7. Vue.js学习笔记 第一篇 数据绑定

    双花括号文本插值 先来个最简单的例子,看完之后立马会用Vue了,是不是很有成就感 <!DOCTYPE html> <html> <head> <meta ch ...

  8. Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖

    1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...

  9. 从零开始学 Web 之 Vue.js(三)Vue实例的生命周期

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  10. Vue.js-07:第七章 - Vue 实例的生命周期

    一.前言  在之前的 Vue 学习中,我们在使用 Vue 时,都会创建一个 Vue 的实例,而每个 Vue 实例在被创建时都要经过一系列的初始化过程.例如,需要设置数据监听.编译模板.将实例挂载到 D ...

随机推荐

  1. KMP字符串匹配算法理解(转)

    一.引言 主串(被扫描的串):S='s0s1...sn-1',i 为主串下标指针,指示每回合匹配过程中主串的当前被比较字符: 模式串(需要在主串中寻找的串):P='p0p1...pm-1',j 为模式 ...

  2. SSL编程(3).NET实现SSL服务端

      准备开发用数字证书 一般学习和开发调试场合,不会随便使用正式的SSL服务器证书的私钥.由于服务器验证对于SSL来说是必须的,SSL服务器端必须有拥有一个服务器 证书,即能够访问到证书的私钥.对于要 ...

  3. java RMI原理详解

    java本身提供了一种RPC框架——RMI(即Remote Method Invoke 远程方法调用),在编写一个接口需要作为远程调用时,都需要继承了Remote,Remote 接口用于标识其方法可以 ...

  4. [JSOI 2007]字符加密Cipher

    Description 题库链接 给你一个长度为 \(n\) 的字符串,首尾相接依次断开每个断点可以得到 \(n\) 个长度为 \(n\) 的字符串,将其排序按序输出每个字符串的最后一个字母. \(1 ...

  5. http server 简单实现

    本blog主要是模仿http server的实现,使得客户端使用浏览器访问server所指定的目录. 当访问的为一个目录时, 则列出改目录下的所有文件 当访问的是文件时,则下载文件到本地 本log仅仅 ...

  6. [转]Windows 下 Nginx+IIS 使用

    本文转自:https://blog.csdn.net/chihen/article/details/52698594 Windows 下 Nginx+IIS 使用 一.Nginx简介 Nginx (& ...

  7. jQuery实现DropDownList(MVC)

    今天学点什么呢?想来想去觉得DropDownList还是要加强功力,因为以前写ASP.NET网站时,此功能用的非常之多.在练习之前,先温习一下以前练习的<Html.DropDownListFor ...

  8. 使用HtmlAgilityPack抓取Ethereum Tokens信息

    使用HtmlAgilityPack抓取Ethereum Tokens信息 class Program { static void Main(string[] args) { try { for (in ...

  9. MQ单一消息完整流程

    public class QueueManger { private static string QueuePath = @".\private$\{0}"; /// <su ...

  10. 漫画 | Spring AOP

    上期,我们看到有小伙伴留言说希望讲讲AOP 然后...... 别激动,来得及 什么是AOP AOP是Spring 框架的一个关键组件,全称为Aspect-OrientedProgramming(面向切 ...