摘要:上一篇文章中我們已經實現了評論的發布功能,現在要實現回復評論的功能,,首先呢,要知道你回復的是哪一條評論,所以我們這里要或得評論的,當點擊評論的時候實現評論的回復,這里用到,把該方法放到中,這里叫做,然后在里面的里面定義一個參數,把賦給的值
上一篇文章中我們已經實現了評論的發布功能,現在要實現回復評論的功能,,首先呢,要知道你回復的是哪一條評論,所以我們這里要或得評論的id,當點擊評論的時候實現評論的回復,這里用到@click="reply(item)",把該方法放到methods中,這里叫做item.id,然后在new vue里面的data里面定義一個參數,把item.id賦給comment_id,comment_id的值一開始為空,然后在UIChatBox.open里的ret函數參數里面調用comment_id: vm.comment_id
data:{ comment_id: null } methods: { reply: function (item) { this.comment_id = item.id } }
這里已經獲取了comment_id的值,當回復時應該讓手機默認鍵盤彈出,輸入框或得焦點,,這里用到了UIChatBox.popupKeyboard();然后當你回復時,一般常見的會有回復:“某某”的評論或者“@”發表評論人的評論,所以呢,這里要或得發表評論的用戶信息,,在data里面設置一個user額變量,再將item的用戶id賦給user,所以綜上所述,代碼如下
data:{ user: JSON.parse(localStorage.getItem("user")), comment_id: null, comments: [] }, methods: { reply: function (item) { this.comment_id = item.id UIChatBox.popupKeyboard(); UIChatBox.value({ msg: "@" + item.user.username + " " }); //設置輸入框的值 } }
到這里,我們回復的功能就已經基本實現了,以下是完整代碼
htmljs apiready = function(){ var id=api.pageParam.id; var UIChatBox = api.require("UIChatBox"); var vm=new Vue({ el:"#app", data:{ user: JSON.parse(localStorage.getItem("user")), comment_id: null, comments: [] }, methods: { reply: function (item) { this.comment_id = item.id UIChatBox.popupKeyboard(); UIChatBox.value({ msg: "@" + item.user.username + " " }); } }, created:function(){ var that=this; app.get("news/"+id + "/comments",function(data){ that.comments=data.data; // console.log(data) },function(err){ }) } }); // app.alert(localStorage.getItem("token")) UIChatBox.open({ style:{ indicator:{ target:"both" } } }, function(ret, err) { if (ret) { if (ret.eventType == "send") { //post到服務端接口 app.post("news/" + id + "/comments", { comment_id: vm.comment_id, content: ret.msg }, function (data) { vm.comments.push(data) api.toast({ msg: "發送成功" }); UIChatBox.closeKeyboard(); vm.comment_id = null }, function (xhr) { switch (xhr.status) { case 422: api.toast({ msg: xhr.responseJSON.content[0] }); break; } }) } } else { alert(JSON.stringify(err)); } }); };
補充說明,當我們回復別人的評論時,別人發表的評論用戶頭像在左邊,本人發布的回復或者評論頭像在右邊,這里有點像qq、微信的聊天界面,大家可以想象以下,,所以這里我們要判斷以下讓列表中的頭像靠左或靠右,如果評論item.user_id 等于user.id時,說明是作者本人發布,在這里就出現了以下代碼
:class="item.user_id == user.id ? "aui-pull-right" : """
當符合item.user_id == user.id時添加aui框架中的aui-pull-right樣式,否則不添加。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81948.html
摘要:關于作者程序開發人員,不拘泥于語言與技術,目前主要從事和前端開發,使用和,端使用混合式開發。個人網站最近剛寫了一個手機在線播放的電影站開發混合式系列第集技術選型是一套簡潔優雅的開發框架。 關于作者 程序開發人員,不拘泥于語言與技術,目前主要從事PHP和前端開發,使用Laravel和VueJs,App端使用Apicloud混合式開發。合適和夠用是最完美的追求。 個人網站:http://...
摘要:關于作者程序開發人員,不拘泥于語言與技術,目前主要從事和前端開發,使用和,端使用混合式開發。個人網站最近剛寫了一個手機在線播放的電影站開發混合式系列第集技術選型是一套簡潔優雅的開發框架。 關于作者 程序開發人員,不拘泥于語言與技術,目前主要從事PHP和前端開發,使用Laravel和VueJs,App端使用Apicloud混合式開發。合適和夠用是最完美的追求。 個人網站:http://...
摘要:以上就是對評論模塊的設計與功能實現,歡迎各位大佬提出代碼優化建議,共同成長代碼出自開源項目,致力于打造全平臺型全棧精品開源項目。 評論模塊在很多系統中都有,CodeRiver河碼 作為類似程序員客棧的溝通協作平臺自然也不會少。 前端界面是參考了簡書的評論模塊,專門寫了一篇文章介紹實現步驟: vue + element-ui + scss 仿簡書評論模塊 感興趣的可以看看。 項目地...
摘要:所以,我們運用這個函數,也可以理解為將異步的代碼轉換為同步執行更簡單的說就是,上面的代碼執行完之后,里面的代碼才能運行,以下是代碼 這段時間再用apicloud的混合開發,其中在運用swiper插件這一塊遇到了一些問題,多虧了我們老大經驗豐富,讓我們這些后輩少采一些坑,,在這里做一下總結,主要是Vue.nextTick()函數的用法 坑:當時在運用swiper插件的時候,沒用用vue進...
閱讀 1964·2021-11-22 15:29
閱讀 3259·2021-10-14 09:43
閱讀 1226·2021-10-08 10:22
閱讀 3348·2021-08-30 09:46
閱讀 1435·2019-08-30 15:55
閱讀 1930·2019-08-30 15:44
閱讀 853·2019-08-30 14:19
閱讀 1448·2019-08-30 13:13
{{item.user.username}} 角色 {{item.id}}
{{item.user.created_at}}