为了账号安全,请及时绑定邮箱和手机立即绑定

处理业务逻辑时,如何对某几个值做联动性处理?

处理业务逻辑时,如何对某几个值做联动性处理?

紫衣仙女 2018-10-24 16:44:36
问题描述在业务开发中,经常会遇到某几个值是有联系的。问题出现的环境背景及自己尝试过哪些方法环境背景举一个最简单的例子:国家-省份-城市 的3级联动下拉框(可能不是很恰当,或者您可以扩展想象一个您熟悉的联动?)。再举一个复杂点的例子: A-B-C-D 三个值,X -> Y 表示X改变时,Y也会做出对应的改变。A -> B, A -> C, B -> C, D -> A 在某一个值变动的时候,会触发其他值也跟着改变(可能还需要验证是否合法/不为空)。如果一个一个写方法去处理它们之间的联动关系或者进行验证太恶心了。尝试所以我在想可不可以在项目中(当前项目是用Vue做的,由于所依赖组件的使用方法的限制,this.list中的item无法使用computed),使用Object.defineProperty来对某些值来做set()/get()方法的重写。但是总感觉这么做会不会太"土"了。。。不够优雅,但是如果通过写methods来对这些值之间的业务关系来做处理更麻烦。。你期待的结果是什么?实际看到的错误信息又是什么?想请教一下大家对这种业务逻辑中有关联性(一个值改变导致其他值发生改变)的情况如何处理。
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

以省市区选择下拉框为例

声明4个业务逻辑单元(function or class

  1. 获取中国省份列表:getProvinces

  2. 获取指定省份的城市列表:getCitys

  3. 获取指定城市的区列表:getAreas

  4. 清空区列表数据:clearAreas

定义2个事件:

  1. 选择省份:select-province

  2. 选择城市:select-city

省市区选择下拉框初始化时,执行逻辑单元getProvinces预先获取省份列表数据

select-province事件触发需执行的业务逻辑单元:

  • getCitys

  • clearAreas

select-city事件触发需执行的业务逻辑单元:

  • getAreas

这样会麻烦吗?


查看完整回答
反对 回复 2018-10-24
  • 1 回答
  • 0 关注
  • 708 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号