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

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项目搭建的。喜欢的话欢迎大家收藏转发。同时也顺便关注一下我。

柯尼卡美能达XP系统驱动安装柯尼卡美能达复合机驱动程序安装指南(WindowsXP适用)从桌面开始设置打印机和传真点击右上方的添加打印机只选择连接到此计算机的本地打印机下一步到选择打印机端口的界面选择创建新端小米冲高,米粉退烧2020年以来,雷军多次公开谈及小米不被理解。背后的原因是,近些年小米一直在冲击高端品牌,这在很多人看来基本是不可能完成的任务。一位已经脱粉的用户看法是,其实很大一部分不理解都集中做网站要屏蔽的一些爬虫,这些爬虫蜘蛛可能会导致你的网站崩溃我朋友的一个网站经常打不开,说要经常重启服务器才能正常访问,他觉得是被什么人攻击了,让我帮他看一下。结果经过了一番排除之后才知道,原来是有很多未知的爬虫蜘蛛大量抓取网站页面所导致的保时捷全能电动车款2019年,保时捷(Porsche)推出首款纯电动跑车Taycan,被视为车界最佳之一。全新的TaycanCrossTurismo更进一步成为全能电动高手,让人留下深刻印象。保时捷联想小新Padplus入手一个月真实感受为码字买赵非凡是一名在校大学生,虽然学的是理工科,但他一直有一个作家梦。互联网高度发达给了他实现作家梦的机会,他尝试在网络平台上连载小说。没曾想,他还有些写小说的天赋,第一本玄幻小说就签约人间芳菲四月的手机圈看了这几天的手机发布会,又看了看即将召开的手机发布会宣传,手机圈这日子真充实呀!怎么个充实法?你请看4月19日周二1908Hinova9se新品发布会。同天,1930魅族春日新品观芯片短缺京东方iPhoneOLED生产中断中国的京东方正处于危机之中。由于芯片短缺,苹果的iPhoneOLED生产已中断数月,LCD价格持续下滑。据市场研究公司UBIResearch和业界21日消息,京东方预计将在下个月之国内的中端手机开始疯狂的内卷模式,消费者可选择会变得更多今天小米还有一加纷纷发布了自己的中端手机,在高端市场销量都上不去的情况下,中端市场就成了国内手机的必争之地。谁能占据中端市场的销量谁就占据了主要的市场份额。因为对于绝大多数的普通老如果现在必须要你换一个品牌的手机,你会选择哪个牌子?我现在使用的是魅族手机,是从m8时代就开始的,一直用到现在,在此之前使用的是诺基亚手机,基本上从用手机开始就用过这两个牌子的,也算专一了。如题所说,如果非要换一个品牌手机不可的话,12万8888,最便宜L4无人配送车买回家知一发自副驾寺智能车参考公众号AI4Auto有市场需求,现在也有售价。在上海疫情中雪中送炭被重新认知的无人驾驶配送车,最新款的售价公布人民币12。8888万。不仅是有史以来无人配送或是当前最便宜的双曲面屏手机!2299元起,小米Civi1S这三项很强在小米Civi1S发布之后,有两种声音非常突出一个是关心产品经理,毕竟确实颜值很高,而且这次请来了奥运冠军杨倩。另一种声音,则是关心更加出色的自拍功能,全新的眼部追焦4D光追美妆焕
比亚迪8月销量公布!3天卖出蔚来月销量的比亚迪究竟有多恐怖月初是每个车企公布月考成绩的时刻,考试自然是有人欢喜有人愁,而比亚迪,就是那个一直站在榜首的学霸。整个8月,比亚迪销量高达6。7万辆,其中新能源车卖出了6。1万辆,实现新能源车销量小米新机再拿骁龙898首发?小米12工程机曝光,或无缘2亿像素就在最近三星正式发布了全球首款2亿像素的移动端传感器。与此同时还宣布了今年就会出货的好消息,这也将意味着很快就有安卓手机会搭载上。但是至于是哪款顶级旗舰有这样的实力首发,现在谁也说如果华为手机开始搭载自家操作系统,你还会支持吗?华为消费者业务CEO余承东在接受德国媒体采访时表示,华为已经研发了自己的手机和电脑操作系统,但是只作为备用,不到万不得已不会拿出来装在华为手机和笔记本电脑上。之所以这么说,主要还是1500元2500元的华为手机哪款比较好?其实在这个档位能推荐的手机款式已经不多,本着买新不买旧,买贵不买贱的原则,我推荐下面三款手机,希望对有类似需求的朋友有一定帮助。一4G手机推荐荣耀20P。虽说今年看似是5G手机爆发9。23发华为新机官宣100W快充全系4G撞期苹果13?小米11T来了声音小白伴随着9月到来,距离华为P50开售应该也不远了,与此同时,华为还有其他新机到来。据华为官方预热,由易烊千玺代言的华为nova9系列将于9月23日上市,官方预热海报显示其出厂因华为事件业务暴跌入华120年的爱立信,会退出中国吗?爱立信如果退出中国,不仅会丢掉真金白银的业绩,还将失去与顶尖企业同台竞技学习的机会。正解局原创今年二季度,国际电信巨头爱立信在中国市场的销售额大跌6成,导致公司整体销售额3年来也首为什么印度人比中国卖家更恨亚马逊?出品卖家之家作者John编辑Wum持续数月的封号潮让许多中国卖家对亚马逊咬牙切齿。可是,也许比中国卖家更痛恨亚马逊的是印度的卖家。01hr亚马逊滚回去!今年洒红节(即印度传统春节)为什么现在的手机发热这么严重?在前几年,小米手机经常被机友们调侃为发烧而生。大家之所以这样说,是因为小米手机在使用过程中容易发热,有时候甚至会达到烫手的程度,让人非常无语。但更无语的是,在2021年,为发烧而生特斯拉要进军家用空调,大金格力美的一夜难眠最近,特斯拉首席执行官马斯克称,它将进军空调市场,制造更安静更高效更节能的空调。这句话一出,立即引起空调行业的极大关注。然而,空调行业市场规模虽大,但早已日落西山,继汽车后,特斯拉区块链电商,一个更好的选择01区块链电商,一个更好的选择命运掌握在自己手中。要么你驾驭生命,要么生命驾驭你,你的心态决定你是坐骑还是骑手。2019年阿里巴巴CEO张勇在1月11号的阿里巴巴One商业大会上说苹果手机有什么弊端吗?苹果弊端数不胜数,但是我还是买苹果。华为优点数不胜数,我就是不买。为什么?老子不想被道德绑架!老子一辈子什么都认命,做不了主。买个手机还不能自主?凭什么不能做主?花的是老子自己的钱