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 相关文章推荐
用JS实现的一个include函数
Jul 21 Javascript
JS实现黑色大气的二级导航菜单效果
Sep 18 Javascript
JavaScript函数柯里化详解
Apr 29 Javascript
ES6概念 Symbol toString()方法
Dec 25 Javascript
JavaScript实现弹窗效果代码分析
Mar 09 Javascript
JavaScript 函数的定义-调用、注意事项
Apr 16 Javascript
解决浏览器会自动填充密码的问题
Apr 28 Javascript
javascript trie前缀树的示例
Jan 29 Javascript
Vue不能观察到数组length的变化
Jun 08 Javascript
vue 点击按钮增加一行的方法
Sep 07 Javascript
vue设计一个倒计时秒杀的组件详解
Apr 06 Javascript
小程序input数据双向绑定实现方法
Oct 17 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中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
php微信开发之图片回复功能
2018/06/14 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
Python实现拼接多张图片的方法
2014/12/01 Python
python处理图片之PIL模块简单使用方法
2015/05/11 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
英智兴达软件测试笔试题
2016/10/12 面试题
Ajax和javascript的区别
2013/07/20 面试题
开服装店计划书
2014/08/15 职场文书
高中生旷课检讨书
2014/10/08 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
2016年春节问候语
2015/11/11 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
详解MySQL的半同步
2021/04/22 MySQL
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技