范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Vue初体验(二)Vue的基本使用

  3.入门实例
  3.3.2.vue声明式渲染
  然后我们通过Vue进行渲染:    {{name}},非常帅!!!     首先通过 new Vue()来创建Vue实例然后构造函数接收一个对象,对象中有一些属性:el:是element的缩写,通过id选中要渲染的页面元素,本例中是一个pdata:数据,数据是一个对象,里面有很多属性,都可以渲染到视图中name:这里我们指定了一个name属性页面中的h2元素中,我们通过{{name}}的方式,来渲染刚刚定义的name属性。
  打开页面查看效果:
  更神奇的在于,当你修改name属性时,页面会跟着变化:
  3.3.3.双向绑定 v-model
  我们对刚才的案例进行简单修改:        {{name}},非常帅!!!有{{num}}位女神为他着迷。
  我们在data添加了新的属性:num在页面中有一个input元素,通过v-model与num进行绑定。同时通过{{num}}在页面输出
  我们可以观察到,输入框的变化引起了data中的num的变化,同时页面输出也跟着变化。input与num绑定,input的value值变化,影响到了data中的num值页面{{num}}与数据num绑定,因此num值变化,引起了页面效果变化。
  没有任何dom操作,这就是双向绑定的魅力。
  3.3.4.事件处理
  我们在页面添加一个按钮:点我这里用v-on指令绑定点击事件,而不是普通的onclick,然后直接操作num普通click是无法直接操作num的。
  效果:
  4.Vue实例
  4.1.创建Vue实例
  每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的:
  每个Vue实例都需要关联一段Html模板,Vue会基于此模板进行视图渲染。
  我们可以通过el属性来指定。
  例如一段html模板:
  然后创建Vue实例,关联这个pvar vm = new Vue({ 	el:"#app" })
  这样,Vue就可以基于id为app的p元素作为模板进行渲染了。在这个p范围以外的部分是无法使用vue特性的。
  4.3.数据
  当Vue实例被创建时,它会尝试获取在data中定义的所有属性,用于视图的渲染,并且监视data中的属性变化,当data发生改变,所有相关的视图都将重新渲染,这就是"响应式"系统。
  html
  jsvar vm = new Vue({  el:"#app",  data:{  name:"刘德华"  } })name的变化会影响到input的值input中输入的值,也会导致vm中的name发生改变
  4.4.方法
  Vue实例中除了可以定义data属性,也可以定义方法,并且在Vue实例的作用范围内使用。
  html:  {{num}}  加
  js:var vm = new Vue({  el:"#app",  data:{  num: 0  },  methods:{  add:function(){  // this代表的当前vue实例  this.num++;  }  } })
  4.5.生命周期钩子
  4.5.1.生命周期
  每个 Vue 实例在被创建时都要经过一系列的初始化过程 :创建实例,装载模板,渲染模板等等。Vue为生命周期中的每个状态都设置了钩子函数(监听函数)。每当Vue实例处于不同的生命周期时,对应的函数就会被触发调用。
  生命周期:
  4.5.2.钩子函数
  beforeCreated:我们在用Vue时都要进行实例化,因此,该函数就是在Vue实例化是调用,也可以将他理解为初始化函数比较方便一点,在Vue1.0时,这个函数的名字就是init。
  created:在创建实例之后进行调用。
  beforeMount:页面加载完成,没有渲染。如:此时页面还是{{name}}
  mounted:我们可以将他理解为原生js中的window.onload=function({.,.}),或许大家也在用jquery,所以也可以理解为jquery中的$(document).ready(function(){….}),他的功能就是:在dom文档渲染完毕之后将要执行的函数,该函数在Vue1.0版本中名字为compiled。 此时页面中的{{name}}已被渲染成峰哥
  beforeDestroy:该函数将在销毁实例前进行调用 。
  destroyed:改函数将在销毁实例时进行调用。
  beforeUpdate:组件更新之前。
  updated:组件更新之后。
  例如:created代表在vue实例创建后;
  我们可以在Vue中定义一个created函数,代表这个时期的钩子函数: // 创建vue实例  var app = new Vue({  el: "#app", // el即element,该vue实例要渲染的页面元素  data: { // 渲染页面需要的数据  name: "峰哥",  num: 5  },  methods: {  add: function(){  this.num--;  }  },  created: function () {  this.num = 100;  }  });
  4.5.3.this
  我们可以看下在vue内部的this变量是谁,我们在created的时候,打印this methods: {  add: function(){  this.num--;  console.log(this);  }  },
  5.指令
  什么是指令?
  指令 (Directives) 是带有 v- 前缀的特殊特性。指令特性的预期值是:单个 JavaScript 表达式。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。
  例如我们在入门案例中的v-on,代表绑定事件。
  5.1.插值表达式
  5.1.1.花括号
  格式:{{表达式}}
  说明:该表达式支持JS语法,可以调用js内置函数(必须有返回值)表达式必须有返回结果。例如 1 + 1,没有结果的表达式不允许使用,如:var a = 1 + 1;可以直接获取Vue实例中定义的数据或函数
  html{{name}}var app = new Vue({  el:"#app",  data:{  name:"Jack"  } })
  5.1.3.v-text和v-html
  使用v-text和v-html指令来替代{{}}
  说明:v-text:将数据输出到元素内部,如果输出的数据有HTML代码,会作为普通文本输出v-html:将数据输出到元素内部,如果输出的数据有HTML代码,会被渲染
  HTML:  v-text:
  v-html:
  JS:var vm = new Vue({  el:"#app",  data:{  hello: "大家好,我是峰哥"  } })
  执行结果:
  5.2.v-model
  刚才的v-text和v-html可以看做是单向绑定,数据影响了视图渲染,但是反过来就不行。接下来学习的v-model是双向绑定,视图(View)和模型(Model)之间会互相影响。
  既然是双向绑定,一定是在视图中可以修改数据,这样就限定了视图的元素类型。目前v-model的可使用元素有:inputselecttextareacheckboxradiocomponents(Vue中的自定义组件)
  基本上除了最后一项,其它都是表单的输入项。
  举例:
  html:  Java
  PHP
  Swift
  你选择了:{{language.join(",")}}     多个CheckBox对应一个model时,model的类型是一个数组,单个checkbox值默认是boolean类型radio对应的值是input的value值input 和textarea 默认对应的model是字符串select单选对应字符串,多选对应也是数组
  执行结果:
  5.3.v-on
  5.3.1.基本用法
  v-on指令用于给页面元素绑定事件。
  语法:
  v-on:事件名="js片段或函数名"    增加一个
  减少一个
  有{{num}}个女神迷恋峰哥
  效果:
  5.3.3.按键修饰符
  在监听键盘事件时,我们经常需要检查常见的键值。Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:
  记住所有的 keyCode 比较困难,所以 Vue 为最常用的按键提供了别名:
  全部的按键别名:.enter.tab.delete (捕获"删除"和"退格"键).esc.space.up.down.left.right
  5.3.4.组合按钮
  可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的监听器。.ctrl.alt.shift    Do something
  5.4.v-for
  遍历数据渲染页面是非常常用的需求,Vue中通过v-for指令来实现。
  语法:v-for="item in items"items:要遍历的数组,需要在vue的data中定义好。item:迭代得到的数组元素的别名      {{user.name}} - {{user.gender}} - {{user.age}}
  执行结果:
  5.4.2.数组角标
  在遍历的过程中,如果我们需要知道数组角标,可以指定第二个参数:
  语法v-for="(item,index) in items"items:要迭代的数组item:迭代得到的数组元素别名index:迭代到的当前元素索引,从0开始。
  示例     {{index + 1}}. {{user.name}} - {{user.gender}} - {{user.age}}
  效果:这里可以看到人名前面有索引
  5.4.3.遍历对象
  v-for除了可以迭代数组,也可以迭代对象。语法基本类似
  语法:v-for="value in object" v-for="(value,key) in object" v-for="(value,key,index) in object"
  示例:1个参数时,得到的是对象的属性2个参数时,第一个是属性,第二个是键3个参数时,第三个是索引,从0开始      {{index + 1}}. {{key}} - {{value}}
  效果:
  5.5.v-if和v-show
  5.5.1.基本使用
  v-if,顾名思义,条件判断。当得到结果为true时,所在的元素才会被渲染。
  语法:v-if="布尔表达式"
  示例:  点我呀
  看到我啦?!      看到我啦?!show
  5.5.4.v-show
  另一个用于根据条件展示元素的选项是 v-show 指令。用法大致一样:Hello!
  示例:
  不同的是带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display。     点击切换
  你好
  5.6.v-bind
  html属性不能使用双大括号形式绑定,只能使用v-bind指令。
  在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。
  在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。
  5.6.1.绑定class样式
  数组语法
  我们可以借助于v-bind指令来实现:
  对象语法
  我们可以传给 v-bind:class 一个对象,以动态地切换 class:
  你可以在对象中传入更多属性来动态切换多个 class。此外,v-bind:class 指令也可以与普通的 class 属性共存。如下模板:
  上面的语法表示 active 这个 class 存在与否将取决于数据属性 isActive 的 truthiness(所有的值都是真实的,除了false,0,"",null,undefined和NaN)。
  你可以在对象中传入更多属性来动态切换多个 class。此外,v-bind:class 指令也可以与普通的 class 属性共存。如下模板:
  和如下 data:data: {  isActive: true,  hasError: false }
  结果渲染为:
  active样式和text-danger样式的存在与否,取决于isActive和hasError的值。本例中isActive为true,hasError为false,所以active样式存在,text-danger不存在。
  通常情况下,绑定的数据对象不必内联定义在模板里:
  数据:data: {  classObject: {  active: true,  "text-danger": false  } }
  效果和之前一样:
  5.6.2.绑定style样式
  数组语法
  数组语法可以将多个样式对象应用到同一个元素上:data: {  baseStyles: {"background-color": "red"},  overridingStyles: {border: "1px solid black"} }
  渲染后的结果:
  对象语法
  v-bind:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。CSS 属性名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用单引号括起来) 来命名:
  数据:data: {  activeColor: "red",  fontSize: 30 }
  效果:
  5.8.watch
  watch可以让我们监控一个值的变化。从而做出相应的反应。
  示例:
  总结:
  关于怎么Vue的基本使用就介绍到这里。在这篇文章之前有一篇入门文章。是关于Vue项目搭建的。喜欢的话欢迎大家收藏转发。同时也顺便关注一下我。

布局新能源,上汽通用2020目标展望,凯迪拉克也将是新增长点车坛八卦近日,上汽通用汽车总经理王永清在接受媒体采访表示,2019年是上汽通用的车型的调整期,新车型将于明年产生一定的市场销量效应,上汽通用对2020年销量也充满信心。据统计,20种了1个月蜂糖李苗,远看全死光了,近看才知道这是树苗自我保护李子苗都看不到了李子树的最佳种植时间每年的11月中旬到1月底,因为这个时候是李子树停止发芽长叶的时候,种下去后给它浇水13次就可以成活,我种植了1个月的蜂糖李苗,今天到山上在远处看专业帮助信息网络犯罪活动罪之辩护思路一帮助信息网络犯罪活动罪的前世今生近年来,网络犯罪呈上升的趋势,各种传统犯罪日益向互联网迁移,网络犯罪呈高发多发的态势,严重危害着国家安全社会秩序和人民群众的合法权益。为了进一步严这是游戏机还是电脑?性能和笔记本一样,体积跟任天堂差不多看到这台8英寸屏的掌上迷你电脑GPDWINMax,大多数人联想到的都是当年比较有名的索尼UMPC。不过时至今日,WINMax的硬件性能可以说是光速飞跃了,而它设计的初衷其实是一台掌再也不带笔记本了,高铁上用5G玩魔兽世界,用这个就行在飞机高铁上带电脑办公的大家应该经常见到,不过在高铁上打魔兽世界网游的,你们就不一定见过了,但是我却经常见GPD掌机的玩家,带着WINMax或WIN2在高铁上,开着5G网络进游戏直台式电脑不用开机了,6寸电脑就能玩DNF,连笔记本都淘汰了经典PC游戏掌机GPDWIN2最近迎来了一波降价,拼多多最低3000出头就可以到手,有一些DNF和魔兽世界的玩家坐不住了,WIN2虽然是一台屏幕只有6英寸的掌上PC,玩这些要求不高还要什么台式机?发烧玩家的这一套掌上电脑组合,价值过万最近外网很多朋友收到了GPDWINMax掌上游戏机,虽然是掌上游戏机,但是MAX的扩展性能却极其的强大,网友就晒出了自己的究极游戏组合,虽然一台WINMax价格就要800美金,国内醉酒报警被强奸案件中如何把握违背妇女意志的要点?基本案情甲乙丙和朋友一起先后在烧烤店kTV喝酒,后甲乙丙一起离开kTV并甲乙带醉酒的丙到宾馆开房,不管离开kT还上宾馆房间,丙均显现走路不稳,由甲或乙搀扶及因怕其摔倒,下楼时由甲或一套显卡坞多少钱?网友用最廉价的方案组成了超级PC苹果最新推出的雷电3线,一根线的价格就要900多,你没看错,就是一根线卖900多,但是GPDWINMax掌机的用户,用900元组装出了一整套显卡坞,看看人家是怎么做到的呢?GPDW任天堂和GPD掌机哪个好?网友几千块的东西为什么要二选一?任天堂switch游戏掌机,和国产GPDWINMax游戏掌机哪个好?GPDWINMax是GPD新推出的8寸掌上电脑PC游戏机,售价相比ns高达5000多元,主要是因为可以流畅玩PC
未来感摩登座驾KiWiEV携手宋茜正式上市8月31日,上汽通用五菱宝骏品牌旗下未来感摩登座驾KiWiEV正式上市,新车提供基础版设计师高阶版艺术家两款车型,分别售价6。98万元7。88万元。其中,设计师可选装直流快充包,选重磅车型亮相成都车展,潮会玩的MG展台刷爆年轻人朋友圈8月29日,第二十四届成都国际汽车展览会正式拉开帷幕。MG旗下多款人气潮流单品亮相车展,持续引燃现场激情。MG首款智潮科技SUVMGONE携潮型双子首次与公众见面,新生代极致运动轿赛道级宽体家轿奕炫MAX将于9月1日云出道据悉,近期热度不减的东风风神奕炫MAX将于9月1日上市,并以线上发布会的形式揭晓上市车型,全面展示赛道级宽体家轿的魅力。自4月19日上海车展首次亮相以来,奕炫MAX现身襄阳试车场云华为MateBook13s14s智慧化功能加持性能同样强悍华为在PC领域已经深耕多年,华为MateBook也发展出MateBookX系列MateBook数字系列及MateBookD系列等多个满足不同消费者诉求的细分产品线。作为华为Mate华为nova9系列将成双11新爆款?好评如潮的原因在这里华为nova9系列自开售以来就在线上线下持续热销,并且在各电商平台都好评如潮。今年双11即将到来,华为商城及各大平台华为官方旗舰店也已经进入双11节奏,为用户带来不少的福利,其中就型格INTEGRA登场,重燃纯粹性能信仰广汽本田全新战略中级车重磅发布唯疾驰于时代先端者强唯响应时代渴望者胜。9月28日,以智在必型SuitWhatYouImagine为主题的广汽本田新车型发布会线上火热举办,广汽本田全新战略中级轿车型格INTEGR焕新升级为智趣而来17。48万1TA系列上市新四化浪潮席卷之下,新能源汽车正在重构人们对于未来出行的想象。9月26日,广汽本田2022款VE1TA系列上市发布会召开。作为广汽本田首款纯电SUV,VE1开启了广汽本田电动化事业Honda中国发布全新纯电动车品牌eNeN系列五款全新车型全球首发10月13日,本田技研工业(中国)投资有限公司(以下简称Honda)与广汽本田汽车有限公司(以下简称广汽Honda)东风本田汽车有限公司(以下简称东风Honda)共同举办Honda前卫碰撞再度联袂玛莎拉蒂携手Fragment跨界推出限定系列2021年10月25日,摩德纳继玛莎拉蒂携手Fragment打造的限量版车型惊艳亮相后,双方于今年秋季再度激发出卓尔不群的创意灵感,联袂打造风格独特的潮酷街头服饰限定系列,以先锋精爱是做出来的,不是说出来的恋爱谈久了,爱就成了最不起眼的事。身边好多恋爱超过一年的人,都曾跟我说过类似的话。他们以过来人的身份告诫我,不要把恋爱想得太美好,甜蜜的爱情永远只属于热恋期,热情一褪,两个人就只剩在朋友圈秀恩爱真的很low周末就是七夕,但是我发现很多人秀恩爱的方式都千篇一律,毫无新意。现在过了这么久,里面的内容也该更新了。所以我又跟几个恋爱老手聊了会天,将他们的经历收集整理成一篇小甜文。也能让大家看