注:iVX也有免費直播課《第八期直播課》
一、文章詳情實現
上一節我們已經完成了首頁的內容顯示,那么此時我們完成點擊后跳轉到詳情頁內容。
那么此時由于我們需要跳轉到詳情頁需要對應的數據ID,那么此時還需要給首頁的文章數據對象數組一個列:
接著設置對應的內容事件:
此時設置了對應的詳情ID值為當前循環到的內容的數據ID,也就是對應的哪一條的數據ID。
接下來使用前臺跳轉到詳情頁:
到了文章詳情頁后我們還需要獲取到當前數據ID對應文章數據的詳情,那么此時肯定需要一個服務;此時創建一個服務為獲取文章詳情內容:
由于獲取文章數據需要指定一個 ID,那么我們給這個服務創建一個參數,通過參數找到對應的數據值:
接著編寫事件,直接選擇對應的數據庫進行輸出,給予條件為數據ID等于傳入過來的文章ID,在輸出值的時候,由于數據ID不可能重復,肯定是只有一條數據,我們直接選擇輸出的結果為對象數組的某一行值,由于行是從0開始,所以我們選擇對應的行號為 0 即可:
二、詳情內容獲取
詳情獲取服務應該是在詳情頁顯示時調用:
此時直接傳遞對應的數據ID即可,那么接下來就需要一個容器來接收對應的返回值,由于是只有一條對象數據,那么直接創建一個對象變量,并且命名為詳情數據:
接著給予這個詳情數據對應的列:
該列必須要和數據庫中數據列名相同,否則你是取不到的。接下來我們創建了列后,在當前頁面顯示時,給予返回數據到創建的對象變量:
接著我們在詳情頁面中分別綁定這些值到頁面上的組件中:
接著我們預覽查看后數據可以照常顯示:
三、評論內容實現
接下來我們開始編寫評論去內容,那么首先必然是提交評論內容到數據庫,此時還需要創建一個數據庫用于存儲評論信息,此時這個數據庫有兩個列:
評論文章ID是為了知道當前評論信息是哪個文章的數據。
創建好之后,我們創建一個服務提交當前用戶的評論信息:
接著該服務接收兩個內容,一個是評論的內容,另一個是評論的文章ID:
接著我們給評論按鈕添加事件,調用評論服務即可,并且清空評論輸入框的內容:
接著我們預覽內容后,評論并不會有任何提示,那么此時我們需要創建一個數組,用于存儲對應的評論信息,評論之后把評論信息加到當前數組之中,再遍歷顯示到當前評論區即可;首先創建一個數組:
接著創建一個循環,把評論內容放到之下,并且設置循環的數據來源為評論信息對象數組:
接著我們為顯示內容做數據綁定:
接著我們在評論按鈕中添加一個動作,給對應的對象數組添加值,并且創建時間為“剛剛”:
隨后我們輸入值后評論即可完成評論顯示功能:
四、評論內容數據庫獲取
剛剛的功能只是實現了“單機版”內容,此時我們還需要創建一個服務去服務器獲取已經評論過的內容,此時需要創建一個服務,命名為評論獲取:
該服務接收一個文章ID作為參數,到數據庫中查找對應的評論信息即可:
接著在詳情頁顯示時增加調用該服務的操作,并且給予評論信息作為存儲容器:
此時我們預覽之后,發現當前文章的評論結果已經顯示:
五、點贊實現
接下來我們增加一個點贊服務,接受一個文章數據ID以及一個點贊用戶列表作為參數,當點贊動作發生時,添加當前用戶到點贊用戶列表更新到對應的點贊數據之中,表示當前用戶已點擊:
此時那如何在頁面中判斷用戶是否已經點擊了呢?我們在前端設置一個一維數組用于判斷用戶是否點擊:
并且在獲取文章數據時,給予文章對應字段給當前的數據列表,那么我們的詳情對象數據就要增加該列,并且該列為數組形式:
此時再到頁面的顯示事件中指定對應的值內容:
接著在前端給文本設置事件,點擊后即可參與點擊:
不過此時當前事件還是有問題的,點擊當前文本后還需要對應的將當前的ID存儲到點贊用戶列表之中,我們先把對應文章發布頁中的昵稱變量放到外部:
當點擊的時候判斷當前昵稱是否存在點贊用戶列表,如果不存在則加入,并且更新用戶點贊列表,否則將提示未登錄或已點贊:
此時我們回到詳情頁,點擊后并沒有任何反應,但是在數據庫中已存在點贊用戶:
那么此時點贊后應該在前端有所顯示,我們直接在點贊用戶外添加一個 if 容器,把點贊操作放到if 之中,并且設置文本若當前用戶昵稱不屬于點贊用戶列表,那么就可以點贊:
如果屬于的話我們就顯示已點贊,并且不生效事件:
此時我們再訪問內容,會出現已點贊提示: