您的位置:首页 > Web前端 > Vue.js

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

2016-12-01 00:00 1226 查看
今天给大家分享下vue.js中的计算属性(computed)

示例一

computed的get属性



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属性:



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教程之计算属性
Vue.js每天必学之计算属性computed与$watch
vue.js入门教程之计算属性
使用node+vue.js实现SPA应用
使用mongovue把sqlserver数据导入mongodb的步骤
Vuejs第十篇之vuejs父子组件通信
基于Vue.js的表格分页组件
Vue.js每天必学之组件与组件间的通信
VUEJS实战之构建基础并渲染出列表(1)
强大Vue.js组件浅析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息