详情页组件中的内容变化时,价格如何实现动态变化
来源:互联网 发布:java岗前培训靠谱吗 编辑:程序博客网 时间:2024/04/23 16:48
组件加载完成后执行mounted( ){ },在mounted中做两件事情:
1)初始将要提交的数据
2)调用methods中的相关事件、方法,计算出价格amount
3)渲染到页面上
<div class="sales-board-form">
<div class="sales-board-line">
<div class="sales-board-line-left">
购买数量:
</div>
<div class="sales-board-line-right">
<v-counter @on-change="onParamChange('buyNum', $event)" :max="100" :min="1"></v-counter>
</div>
</div>
<div class="sales-board-line">
<div class="sales-board-line-left">
产品类型:
</div>
<div class="sales-board-line-right">
<v-selection :selections="productTypes" @on-change="onParamChange('buyType', $event)"></v-selection>
</div>
</div>
<div class="sales-board-line">
<div class="sales-board-line-left">
有效时间:
</div>
<v-chooser :selections="periodList" @on-change="onParamChange('period', $event)"></v-chooser>
</div>
<div class="sales-board-line">
<div class="sales-board-line-left">
产品版本:
</div>
<div class="sales-board-line-right">
<v-mul-chooser :selections="versionList" @on-change="onParamChange('versions', $event)"></v-mul-chooser>
</div>
</div>
<div class="sales-board-line">
<div class="sales-board-line-left">
总价:
</div>
<div class="sales-board-line-right">
{{price}}
</div>
</div>
<div class="sales-board-line">
<div class="sales-board-line-left"> </div>
<div class="sales-board-line-right">
<div class="button" >
立即购买
</div>
</div>
</div>
</div>
import VSelection from '../../components/selection';
import VCounter from '../../components/counter';
import VChooser from '../../components/chooser';
import VMulChooser from '../../components/multiplyChooser';
import _ from 'lodash';
export default {
components: {
VSelection,
VCounter,
VChooser,
VMulChooser
},
data () {
return {
buyNum: 0,
buyType: {},
period: {},
versions: [],
amount: 0,
price: 0,
productTypes: [
{
label: '入门版',
value: 1
},
{
label: '中级版',
value: 2
},
{
label: '高级版',
value: 3
}
],
periodList: [
{
label: '半年',
value: 1
},
{
label: '一年',
value: 2
},
{
label: '三年',
value: 3
}
],
versionList: [
{
label: '客户版',
value: 1
},
{
label: '代理商版',
value: 2
},
{
label: '专家版',
value: 3
}
]
}
},
methods: {
onParamChange (attr, val) {
this[attr] = val;
this.getPrice();
},
getPrice () {
let buyVersionsArray = _.map(this.versions,(item)=>{{
console.log(item)
return item.value
}})
let reqParams = {
// cccc:buyVersionsArray,
buyNumber:this.buyNum,
buyType:this.buyType.value,
period:this.period.value,
versions:buyVersionsArray.join(','),
amount: this.buyNum*((this.buyType.value||1)*100+(this.period.value||1)*200+this.versions.length*100)
}
this.$http.post('/api/getPrice', reqParams)
.then((res)=>{
console.log(res.data);
let data = res.data;
this.price =data.amount;
});
}
},
mounted () {//组件加载完成后执行
// buyNum: 1,
// buyType: {
// type:Array,
// default:[{
// label: "入门版",
// value: 1
// }]
// },
// period: {
// type:Array,
// default:[{
// label: "半年",
// value: 1
// }]
// },
// versions: [1],
// buyNum: 1,
this.buyNum=1
this.buyType=this.productTypes[0]
this.period=this.periodList[0]
this.versions=[this.versionList[0]]
this.amount=0;
this.getPrice()
}
}
- 详情页组件中的内容变化时,价格如何实现动态变化
- 实现数字动态变化
- jquery 实现DataTable表格中,药品总价格随数量或单价的变化发生动态变化
- 如何监控文件夹内容变化
- jQuery实现当select下拉框内容变化时,input输入框内容随之变化
- JAVA实现年月日动态变化
- C# RichTextBox高度随内容动态变化
- ListView内容变化后的动态刷新
- ListView内容变化后的动态刷新
- 内容随着下拉选项的动态变化
- ListView内容变化后的动态刷新
- 记录文本框内容的动态变化
- 当没有输入内容时,input中的字体变化
- js实现购物车数量增减联动价格变化
- Settings: android 组件如何响应语言变化
- Settings: android 组件如何响应语言变化
- jquery 如何监听div内容的变化
- jquery 如何监听div内容的变化
- mysql开启远程连接模式
- Java基础学习总结(121)——Java JVM执行流程
- Mule webservic 服务调用(待修改)
- SpringMvc 在非Controller下使用@Autowired
- MongDB基本语句
- 详情页组件中的内容变化时,价格如何实现动态变化
- python -- 教室调度问题 之dict方式
- JSON 初学笔记
- gulp 实现实时刷新
- Java分布式跟踪系统Zipkin(八):Zipkin源码分析-KafkaCollector
- qt+python Linux服务器日志同步显示
- Perl用LWP实现GET/POST数据发送
- 纯CSS实现table切换;lable+radio组合,仅供参考思路
- 通过@Value注解读取.properties配置内容