最近我决定查看VueJS 2.0.由于我仍然主要使用各种CMS系统(WordPress,TYPO3,OctoberCMS,那种东西),我想尝试实现像页面加载一样的pjax.令我惊讶的是,它并不像我想象的那么简单.
有没有办法替换部分页面并重新初始化VueJS中的组件?
我应该解释为什么我要实现这样的功能.在过去的几年中,我发现使用前端框架开发功能丰富的网站更加容易和快捷.但是,由于大多数客户需要后端来管理他们的网站,因此使用现有的CMS并不是一件容易的事.
在过去,我使用Angular来构建前端.即使使用pjax,它的效果也令人惊讶,因为可以在Angular 1.0中重新初始化部分页面.
Angular 2.0采用了不同的方法,虽然我非常喜欢他们用它做的事情,但我认为它不适合在环境中使用,因为大多数前端都是由服务器渲染的.这就是我决定查看VueJS的原因.
我想实现一个类似pjax的功能,因为HTML已经在服务器端呈现并动态替换部分页面看起来很酷:)
编辑
为了清楚起见,我不是在谈论jQuery pjax插件,只是动态地替换页面的部分(在我之前工作过的公司中简称为“pjax”:P)
最佳答案 是的,你绝对可以做到这一点.您可以使用多个组件构建一个页面视图,并且您可以只更新一个组件中的
reload the data个将仅更新该组件,或者您也可以将
conditions与v-if一起使用,以便您可以更改将动态呈现的组件.
样本小提琴:http://jsfiddle.net/mimani/6dgbg2dL/
使用setTimeout模拟ajax的示例小提琴:http://jsfiddle.net/6dgbg2dL/1/