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

mobx一个store设计的问题

mobx一个store设计的问题

慕妹3146593 2019-02-26 21:17:50
看了一些例子我设计了如下store一个页面的总store,结构如下//    页面总的storeclass store {    @observable list: []    @action async getData(){        const data = await axios.get('/getgoods');        this.list = data.map(item => new GoodsModel(this, item));    }}//    每个商品的modelclass GoodsModel {    store;    @observable price;    @observable goodsName;    @observable goodsImg;    constructor(store, json){        this.store = store;        this.goodsName = json.goods_name;        this.goodsImg = json.img_url;        this.price = json.price;    }}每个单个商品的model只保存了属于自己的信息,但是有时需要用到整个页面store中的数据,所有我在每个model中有一个store属性,但是这样设计在JSON.stringify()中就会报循环引用了,因为store中的list有model,model中又有store,这样相互依赖的问题如何解决呢,请问mobx还有其他的设计思路吗
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

你这样的设计是没问题的,问题在:

  1. 为什么要JSON.stringify()? 你已经构建出了JS对象,页面渲染时直接通过访问对象属性即可,应该不需要JSON.stringify()

  2. 如果真的要转换成json字符串,也应该先做预处理,转换除了store以外的其他属性:price、goodsName、goodsImg。


查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 677 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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