Vue.js第三天学习笔记(计算属性computed)


Posted in Javascript onDecember 01, 2016

今天给大家分享下vue.js中的计算属性(computed)

示例一

computed的get属性

Vue.js第三天学习笔记(计算属性computed)

html:

<template>
 <div class="input-text">
 <input type="text" v-model='firstName'>
 <input type="text" v-model='lastName'>
 {{fullName}}
 </div>
</template>

js:

<script>
export default {
 components: {

 },
 ready: function() {

 },
 methods: {
 },
 data() {
 return {
 firstName: 'Foo',
 lastName: 'Bar'
 }
 },
 computed: {
 fullName: {
 // getter
 get: function() {
 return this.firstName + ' and ' + this.lastName
 },
 // setter
 set: function(newValue) {
 var names = newValue.split(' and ')
 this.firstName = names[0]
 this.lastName = names[names.length - 1]
 }
 }
 }
}
</script>

示例二

computed的get和set属性:

Vue.js第三天学习笔记(计算属性computed)

html:

<template>
 <div class="input-text">
 <input type="text" v-model='a'>{{b}}
 <input type="button" value="修改b的值" @click='updateData'>
 <input type="text" v-model='c'>
 </div>
</template>

js:

<script>
export default {
 components: {
 },
 ready: function() {
 },
 methods: {
 updateData:function(){
 this.b=this.b;//给 b 重新赋值时就会调用 b 的 set 属性,从而改变 c 的值
 }
 },
 data() {
 return {
 a:'1:30',
 c:''
 }
 },
 computed: {
 b:{
 get: function() {//通过a的值改变b的值
 var time=this.a;
 time = time ? time.split(':') : '';
 let hours = time[0];
 let minutes = time[time.length - 1];
 return parseInt(hours) * 60 + parseInt(minutes);
 },
 set:function(newValue){//通过b值的改变,设置 c 的值
 let newTimes = newValue;
 let hoursTime = parseInt(newTimes) / 60;
 let minutesTime = parseInt(newTimes) % 60;
 newTimes = newTimes + '';
 hoursTime = hoursTime + '';
 hoursTime = hoursTime ? hoursTime.split('.') : '';
 this.c = hoursTime[0] + ':' + minutesTime;
 console.log(hoursTime[0] + ':' + minutesTime);
 }
 }
 }
}
</script>

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
window.open不被拦截的实现代码
Aug 22 Javascript
Javascript自定义排序 node运行 实例
Jun 05 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
Oct 24 Javascript
Javascript玩转继承(一)
May 08 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
如何减少浏览器的reflow和repaint
Feb 26 Javascript
JavaScript+html5 canvas绘制的小人效果
Jan 27 Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
详解ES6 扩展运算符的使用与注意事项
Nov 12 Javascript
实例解析jQuery中如何取消后续执行内容
Dec 01 #Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
Dec 01 #Javascript
jQuery中ajax错误调试分析
Dec 01 #Javascript
JQuery学习总结【二】
Dec 01 #Javascript
Vue.js第二天学习笔记(vue-router)
Dec 01 #Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
Dec 01 #Javascript
Vue方法与事件处理器详解
Dec 01 #Javascript
You might like
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
解析PHP的session过期设置
2013/06/29 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
jQuery操作cookie
2016/08/08 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
应届生自我鉴定
2013/12/11 职场文书
公司保密承诺书
2014/03/27 职场文书
白血病捐款倡议书
2014/05/14 职场文书
美术课外活动总结
2014/07/08 职场文书
学生吸烟检讨书
2014/09/14 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
汉字听写大会观后感
2015/06/12 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
如何用PHP websocket实现网页实时聊天
2021/05/26 PHP
MySQL读取JSON转换的方式
2022/03/18 MySQL