前后端分离的点赞功能样式问题


我是用vue写的前端页面。点赞和取消点赞api我已经写好了,只需要向api传输文章的id就可以,还有一个判断你是否已经点赞的api,已经文章也是由api获取
现在遇到的问题是,我想在样式上做改变,就是初始化加载页面的时候,就判断好这篇文章你是否点过赞,然后样式是点赞了的样式。但是文章是由v-repeat生成的(类似ng-repeat),我在文章中加入过滤器当前文章是否点过赞,在Ajax的回调改写dom,但由于异步的问题,改写的dom被vue的渲染给无效了。有什么好的办法吗?

python3.x vue angularjs

APRILs 9 years, 5 months ago

你应该使用 vue 自己的方法来管理样式,而不是手动去改变 dom

skyng01 answered 9 years, 5 months ago

我也做过类似的,不过用的是angularjs
前面也一样,但是在点赞的class上我想了个办法,你看看合不合适:
比如nice是lists(服务器返回)数组里的一个布尔值,判断点没点过,首次加载的时候用这个值来循环点赞按钮class
然后在点赞按钮上加一个ng-click发送http,发送成功之后改变一下list.nice的布尔值,然后改变状态.确定这个list.nice的位置就往这个封装http的方法里传一个$index就好了.
你说的改写dom实际上没有改变双向绑定的值,还是传统的jquery思维.改变绑定的值应该是比较妥善的方法,你可以试试.

Tazusa answered 9 years, 5 months ago

Your Answer