我是用vue寫的前端頁。點讚和取消點讚api我已經寫好了,只需要向api傳輸文章的id就可以,還有一個判斷你是否已經點讚的api,已經文章也是由api獲取 現在遇到的問題是,我想在樣式上做改變,就是初始化載入頁面的時候,就判斷好這篇文章你是否點過贊,然後樣式是點讚了的樣式。但文章是由v-repeat生成的(類似ng-repeat),我在文章中加入過濾器當前文章是否點過贊,在Ajax的回調改寫dom,但由於異步的問題,改寫的dom被vue的渲染給無效了。有什麼好的辦法嗎?
我也做過類似的,不過用的是angularjs 前面也一樣,但是在按讚的class上我想了個辦法,你看看合不合適: 例如nice是lists(伺服器回傳)數組裡的一個布林值,判斷點沒點過,首次載入的時候用這個值來循環點讚按鈕class 然後在讚按鈕上加一個ng-click發送http,發送成功之後改變一下list.nice的布爾值,然後改變狀態.確定這個list.nice的位置就往這個封裝http的方法裡傳一個$index就好了. 你說的改寫dom其實沒有改變雙向綁定的值,還是傳統的jquery思維.改變綁定的值應該是比較妥善的方法,你可以試試.
你應該使用 vue 自己的方法來管理樣式,而不是手動去改變 dom
我也做過類似的,不過用的是angularjs
前面也一樣,但是在按讚的class上我想了個辦法,你看看合不合適:
例如nice是lists(伺服器回傳)數組裡的一個布林值,判斷點沒點過,首次載入的時候用這個值來循環點讚按鈕class
然後在讚按鈕上加一個ng-click發送http,發送成功之後改變一下list.nice的布爾值,然後改變狀態.確定這個list.nice的位置就往這個封裝http的方法裡傳一個$index就好了.
你說的改寫dom其實沒有改變雙向綁定的值,還是傳統的jquery思維.改變綁定的值應該是比較妥善的方法,你可以試試.
你應該使用 vue 自己的方法來管理樣式,而不是手動去改變 dom