前端老大们求助一个静态项目转 vue 版本问题

2019-08-19 09:54:36 +08:00
 imherer

我是一名后端,前端半吊子,最近有个项目是将一个静态的 web 项目转成 vue 版本

这个项目引用了大量的第三方 js 和 css ( bootstrap、jQuery、以及很多 jQuery 插件等)

我一开始是想把这些 js 全部转成 vue 版本的,但是发现很多在 npm 上没有,以及要改的东西太多,于是就直接在 index.html 里引用了它用到的所有 js 和 css,然后基本上也没什么问题,能正常运行

因为该项目首页的轮播图以及很多排版效果,都是通过 js 来实现的,看了下源代码主要是在 $(window).on('load'$(document).ready 这个两个函数里

现在的问题第一次加载的时候各种排版及效果正常,当点到其他页面再通过 router-link 回来或者是浏览器的 back 回来排版就不正常了

我现在将首页的链接的 router-link 改成了 a 标签 href="/",相当于每次进来都直接刷新,可以解决这个问题

但是浏览器的 back 不知道怎么解决?

其他页面我看了下也有类似的问题,不过代码量都很小,我可以直接将其改成 vue 版本,唯独首页的太多了

5016 次点击
所在节点    程序员
29 条回复
flxxy
2019-08-19 11:54:26 +08:00
@imherer 都 jquery 了为什么不试试$.ajax 呢
galikeoy
2019-08-19 12:05:09 +08:00
不用 jq 的事件,插件估计也用不了吧,npm 库没有代替的就手写吧。。。
mrcotter2013
2019-08-19 13:03:54 +08:00
@galikeoy 这个可以举个具体的例子吗?怎么做?
galikeoy
2019-08-19 13:50:06 +08:00
@mrcotter2013 #23 在 webpack 中配置 resolve.alias,
redbuck
2019-08-19 15:19:04 +08:00
排版不正常是 css 污染了吧

不同页面的 css 类名有冲突,以前是多页跳来跳去没关系,所以没有问题.
然后现在换了前端路由,页面不会重新加载,样式全部是 style 塞到头部去了,导致回到首页的时候样式就错了.

最简单的办法是给 vue 文件的 style 标签里加 scoped
agdhole
2019-08-19 15:28:29 +08:00
vue 全部重写,动画效果原生撸就完事了
lizz666
2019-08-19 15:52:30 +08:00
你的是不是 jsp 啊。。。
duan602728596
2019-08-19 18:05:42 +08:00
重写吧,为了你好,也为了后来接手的人好
luozic
2019-08-20 22:31:00 +08:00
重写,除非这个东西用几次就扔掉了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/593026

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX