主题:【原创】jquery 和 vue -- 铁手
初学 Vue,还没仔细看 Vuex 和 Vuerouter。现在也不敢大规模改,只是对部分地方用 Vue 来实现一些功能的加强。
曾经考虑过服务器端只取数据,然后完全交给客户端来做显示,但是考虑到搜索引擎,我现在大致确定所有需要被搜索引擎检索的内容由服务器端送出,Vue 在客户端做一些点缀。
本来以为可以用 slot,只要搜索引擎 bot 能看到 slot 里面的内容就可以,不过看起来也只能是一个 slot 的情况下。用 named slot,那些内容就被忽略了。
所以暂时不能采用服务器送所有数据,然后由客户端的component 来显示。这个方案看上去的确很诱人,但是我不知道怎么对付搜索引擎的检索。按我的理解,目前为止,大概也就是google才会解析检索 javascript 形成的内容。或者专门做一个版本供搜索引擎检索?
你和 @少侠请留步 都提到 每个 component 自己调一次 ajax 来获得数据。我之前没想到这点,你们一提,有茅塞顿开的感觉,估计能解决我现在的问题。
以看单帖跳出来的这个窗口为例子。
现在的做法是,ajax 获得服务器来的内容,直接塞到弹出窗口里的一个 div。如果用 Vue 的话,是不是用一个 watcher 来响应用户的点击,然后去后台去数据?因为前面提到的搜索引擎的考虑,我现在没法在每个帖链接上做 vue 的 v-on:click。
单帖内容里,有一部分是另外的 component,这些也需要显示。现在大概有两个思路,一个是在前台做组件搭模板,后台只提供数据。不好的地方是,后台需要根据情况准备两个版本,完整页面一个版本,弹出一个版本。另外一个思路,应该是老思路了,就是后台只有一个版本,ajax 抓回来的内容想法让它融入到 Vue里,包括里面的 vue component。眼下这些返回的内容只被看作是纯字符串。我又看了一下 Vue 的文档,也许 Vue.extend() 再加上 $mount 可以实现这个方案? Vue.extend, Vue.compile 有什么差别?
- 相关回复 上下关系8
🙂VUE的设计理念比较适合国人思维。 2 土壤 字0 2020-07-29 07:35:47
🙂jquery 过时是因为它提供的便利性已经成为语言特性 20 透明 字674 2020-07-27 22:43:30
🙂正解,前端就像时装,不断有潮流 8 敲门 字388 2020-07-29 07:54:23
🙂太感谢了,一并请教
🙂我不是一个vue的重度使用者,虽然vue会是首选。 5 透明 字2317 2020-07-30 11:59:03
🙂多谢。前面的问题通过 vue.extend 暂时解觉了 5 铁手 字1460 2020-07-31 16:30:11
🙂一个版本足以,CSS这块估计要综合考虑 4 敲门 字495 2020-07-29 08:00:15
🙂嗯,前面提的版本主要是针对搜索引擎 1 铁手 字348 2020-07-31 14:41:46