一个界面还是controller实例,其实都不在了,为什么要这么设计?

所谓路由,当然是尽可能兼容类似“url”的操作。虽然是单页应用,但整个系统只有一个页面,每个功能状态也可能对应一个url,所以我们从这个角度来看它的行为:

首页到详情页:这一步可以看作是一个新链接的跳转。由于详情页上的所有内容以前都不存在,因此重新创建了其数据和界面,您同意这一点。

详情页返回首页:这个“返回”可以有两种理解,一种是点击一个链接跳转回来,另一种是按下浏览器的返回按钮。这两种行为所表达的意思应该是不同的。

首先考虑一个问题网页上的按钮点不动,当你已经进入详情页时,首页还存在吗?不管是接口还是控制器实例,虽然没有了,但为什么要这样设计呢?对于单页系统,如果不破坏已经留下的东西网页上的按钮点不动,每点击一次后,整个系统的所有模块都会被实例化。此时,系统资源被占用很多。一方面,状态不容易同步是一件很可怕的事情,所以会破坏已经离开的页面。

从另一个角度来说,由于应用的状态对应的是url,所以不应该区分这两种情况:

-从已有接口点击另一个接口A对应的url访问A

-在新浏览器的地址栏中直接输入A的url即可访问A

两者应该是等价的,应该对前面的操作界面没有依赖。

考虑到这些因素,滚动条位置不太可能被保留,除非它是单击浏览器的后退机制,这对您有额外的作用。

面对你的业务场景,你可以使用ng-if或ng-show之类的东西,不用路由就可以在不同的界面之间切换,点击时控制状态和界面的对应关系。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 一个界面还是controller实例,其实都不在了,为什么要这么设计? http://www.wkzy.net/game/8109.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务