javascript – 使用VueJS 2.0模拟Pjax

最近我决定查看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/

您可以使用vuex在多个组件之间进行通信,请检查一个样本here.

点赞