首页 > 编程知识 正文

运营管理模式,状态模式和策略模式的区别

时间:2023-05-05 20:16:43 阅读:138298 作者:2509

什么是"状态管理模式"? 让我们从一个简单的Vue计数APP演示开始:

newvue((/statedata ) ) return ) count: )、//viewtemplate3360 ) div ) {count}/div )、/actionsmethood

state,驱动APP应用程序的数据源; 将viewstate声明性地映射到视图;actionsview中的根据用户输入的状态变化进行响应。 简单的状态管理启动

当访问Vue APP应用程序中原始数据对象的实际源数据对象时,一个vue实例可能只是简单的代理访问。 因此,如果存在需要在多个实例之间共享的情况,则可以通过维护数据轻松共享。

constsourceoftruth={ } const VMA=newvue { data : sourceoftruth } } constvmb=newvue { data 3360 sourceoftruth } }当前为3360 现在有了唯一的数据源,但调试会成为噩梦。 无论何时,在我们的APP应用程序的任何部分,无论什么数据发生更改,都不会保留更改的记录。

更改sourceOfTruth时,vmA和vmB现在都会自动更新参考视图。 子组件的每个实例也可通过this.$root.$data进行访问。 现在有了唯一的数据源,但调试会成为噩梦。 无论何时,在我们的APP应用程序的任何部分,无论什么数据发生更改,都不会保留更改的记录。

为了解决这个问题,我们使用了简单的sourceOfTruth

var store={ debug: true,state: { message: 'Hello!' 、setmessageaction(newValue ) if ) this.debug ) console.log ) setmessageactiontriggeredwith )、newValue ) this )、 newvalue clearmessageaction((if ) this.debug ) console.log ) (clearmessageactiontriggered ) this.state.message=如果发生了错误,我们现在也有记录错误之前发生了什么的log。

此外,每个实例/组件仍然可以拥有和管理其自己的专用状态。

varVMA=newvue(data: ) privatestate: )、sharedstate:store.state} ) varVMB=newvue ) data3360 ) prrate

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。