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 相关文章推荐
Grid得到选择行数据的方法总结
Jan 17 Javascript
jQuery 计算iframe 窗口大小的方法
May 13 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
jquery datatable服务端分页
Aug 31 Javascript
JavaScript获取当前时间向前推三个月的方法示例
Feb 04 Javascript
jQuery选择器之子元素选择器详解
Sep 18 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
在微信小程序里使用watch和computed的方法
Aug 02 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
Sep 06 Javascript
微信小程序新闻网站详情页实例代码
Jan 10 Javascript
Javascript Worker子线程代码实例
Feb 20 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
apache php模块整合操作指南
2012/11/16 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
javascript 计算两个整数的百分比值
2009/12/26 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
让你5分钟掌握9个JavaScript小技巧
2018/06/09 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
[04:03]DOTA2英雄梦之声_第02期_风暴之灵
2014/06/30 DOTA
Python3学习urllib的使用方法示例
2017/11/29 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
通过cmd进入python的实例操作
2019/06/26 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
python logging模块的使用
2020/09/07 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
中软国际Java程序员机试题
2012/08/19 面试题
成人大专自我鉴定范文
2013/10/19 职场文书
一年级小学生评语
2014/04/22 职场文书
公司股东合作协议书
2014/09/14 职场文书
技术股份合作协议书
2014/10/05 职场文书
小学教师工作总结2015
2015/04/07 职场文书
2016年学校招生广告语
2016/01/28 职场文书
MySQL时区造成时差问题
2022/04/13 MySQL