在实践过程中,我一般的思路是在某view类中保存一个对驱动model的引用,有一个fresh方法就是根据这个引用的内容进行刷新显示。只要model有改变的地方,手工调用下fresh方法就可以做到驱动view。本想这样model内容一改变,view里的内容也会跟着改变,这样无需dispatch事件,就可以做到驱动。
结果今天终于发现了一个大大的错误了!如下图所示
一旦model的更改不是直接更改model原有内存中的内容,而是重新new了一个,这个时候model指向的内存和view的引用指向的内存是不一致的!!!而fresh动作还是根据原view引用来刷新,肯定会出错,所以在不清楚model更改是直接更改还是重新new情况下,要重新把model赋值给view,更新view的引用,再fresh,切记