欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現(xiàn)評論列表

 更新時間:2022年04月14日 17:03:43   作者:不爭亦不屑  
這篇文章主要為大家詳細介紹了vue實現(xiàn)評論列表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue實現(xiàn)評論列表的具體代碼,供大家參考,具體內(nèi)容如下

案例數(shù)據(jù)使用localStorage持久性存儲 全局過濾器實現(xiàn)時間格式化

代碼部分

<!DOCTYPE html>
<html lang="zh">
?? ?<head>
?? ??? ?<meta charset="UTF-8">
?? ??? ?<meta name="viewport" content="width=device-width, initial-scale=1.0">
?? ??? ?<meta http-equiv="X-UA-Compatible" content="ie=edge">
?? ??? ?<title></title>
?? ??? ?<script src="../lib/vue.js" type="text/javascript" charset="utf-8"></script>
?? ??? ?<link rel="stylesheet" type="text/css" href="../node_modules/bootstrap/dist/css/bootstrap.css" />
?? ?</head>
?? ?<body>
?? ??? ?<div id="app">
?? ??? ??? ?<div class="container">
?? ??? ??? ??? ?<div class="row">
?? ??? ??? ??? ??? ?<div class="col-md-6 offset-md-3">
?? ??? ??? ??? ??? ??? ?<cmt-box @func="loadComments"></cmt-box>
?? ??? ??? ??? ??? ??? ?<ul class="list-group">
?? ??? ??? ??? ??? ??? ??? ?<li class="list-group-item" v-for="item in list" :key="item.id">
?? ??? ??? ??? ??? ??? ??? ??? ?<span class="badge badge-pill badge-dark float-right">評論人:{{item.user}}</span>
?? ??? ??? ??? ??? ??? ??? ??? ?<span class="float-right" style="position: relative;right: 60px;">{{ item.ctime | dateFormat() }}</span>
?? ??? ??? ??? ??? ??? ??? ??? ?{{item.content}}
?? ??? ??? ??? ??? ??? ??? ?</li>
?? ??? ??? ??? ??? ??? ?</ul>
?? ??? ??? ??? ??? ?</div>
?? ??? ??? ??? ?</div>
?? ??? ??? ?</div>
?? ??? ?</div>

?? ??? ?<template id="tmpl">
?? ??? ??? ?
?? ??? ??? ?<div>
?? ??? ??? ??? ?<div class="form-group">
?? ??? ??? ??? ??? ?<label for="comment">評論人:</label>
?? ??? ??? ??? ??? ?<input type="text" id="comment" class="form-control" v-model="user" />
?? ??? ??? ??? ?</div>
?? ??? ??? ??? ?
?? ??? ??? ??? ?<div class="form-group">
?? ??? ??? ??? ??? ?<label for="commentText">評論內(nèi)容:</label>
?? ??? ??? ??? ??? ?<textarea id="commentText" class="form-control" v-model="content">
?? ??? ??? ??? ?
?? ??? ??? ??? ??? ?</textarea>
?? ??? ??? ??? ?</div>
?? ??? ??? ??? ?
?? ??? ??? ??? ?<div class="form-group">
?? ??? ??? ??? ??? ?<input type="button" value="發(fā)表評論" class="btn btn-primary" @click="postComment" />
?? ??? ??? ??? ?</div>
?? ??? ??? ?</div>
?? ??? ??? ?
?? ??? ?</template>


?? ??? ?<script type="text/javascript">
?? ??? ??? ?
?? ??? ??? ?// 全局過濾器 時間格式化
?? ??? ??? ?// 所謂的全局過濾器,就是所有的VM實例都共享的
?? ??? ??? ?Vue.filter('dateFormat',function(dateStr,pattern=""){
?? ??? ??? ??? ? // 根據(jù)給定的時間字符串,得到特定的時間
?? ??? ??? ??? ??
?? ??? ??? ??? ?var dt = new Date(dateStr)
?? ??? ??? ??? ?
?? ??? ??? ??? ?// ? yyyy-mm-dd
?? ??? ??? ??? ?var year = dt.getFullYear()
?? ??? ??? ??? ?
?? ??? ??? ??? ?var month = (dt.getMonth() + 1).toString().padStart(2,'0')
?? ??? ??? ??? ?
?? ??? ??? ??? ?var day = dt.getDate().toString().padStart(2,'0')
?? ??? ??? ??? ?
?? ??? ??? ??? ?// return `${year}-${month}-${day}`
?? ??? ??? ??? ?
?? ??? ??? ??? ?if(pattern && pattern.toLowerCase() === 'yyyy-mm-dd'){
?? ??? ??? ??? ??? ?return `${year}-${month}-${day}`
?? ??? ??? ??? ?}else{
?? ??? ??? ??? ??? ?var hh = dt.getHours().toString().padStart(2,'0')
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?var mm = dt.getMinutes().toString().padStart(2,'0')
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?var ss = dt.getSeconds().toString().padStart(2,'0')
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?return `${year}-${month}-${day} ${hh}:${mm}:${ss}`
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ?})
?? ??? ??? ?
?? ??? ??? ?var commentBox = {
?? ??? ??? ??? ?data() {
?? ??? ??? ??? ??? ?return {
?? ??? ??? ??? ??? ??? ?user: '',
?? ??? ??? ??? ??? ??? ?content: '',
?? ??? ??? ??? ??? ??? ?ctime:new Date()
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?},
?? ??? ??? ??? ?template: '#tmpl',
?? ??? ??? ??? ?methods: {
?? ??? ??? ??? ??? ?postComment() {
?? ??? ??? ??? ??? ??? ?// ?localStorage 只支持存放字符串?dāng)?shù)據(jù), 要先調(diào)用 JSON.stringify?
?? ??? ??? ??? ??? ??? ?// ?在保存 最新的 評論數(shù)據(jù)之前,要先從 localStorage 獲取到之前的評論數(shù)據(jù)(string), 轉(zhuǎn)換為 一個 ?數(shù)組對象, 然后,把最新的評論, push 到這個數(shù)組
?? ??? ??? ??? ??? ??? ?// ?如果獲取到的 localStorage 中的 評論字符串,為空不存在, 則 ?可以 返回一個 '[]' ?讓 JSON.parse 去轉(zhuǎn)換
?? ??? ??? ??? ??? ??? ?// ?把 最新的 ?評論列表數(shù)組,再次調(diào)用 JSON.stringify 轉(zhuǎn)為 ?數(shù)組字符串,然后調(diào)用 localStorage.setItem()

?? ??? ??? ??? ??? ??? ?var comment = {
?? ??? ??? ??? ??? ??? ??? ?id: Date.now(),
?? ??? ??? ??? ??? ??? ??? ?user: this.user,
?? ??? ??? ??? ??? ??? ??? ?content: this.content,
?? ??? ??? ??? ??? ??? ??? ?ctime:this.ctime
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?// 從 localStorage 中獲取所有的評論
?? ??? ??? ??? ??? ??? ?var list = JSON.parse(localStorage.getItem('cmts') || '[]')

?? ??? ??? ??? ??? ??? ?list.unshift(comment)

?? ??? ??? ??? ??? ??? ?// 重新保存最新的 評論數(shù)據(jù)
?? ??? ??? ??? ??? ??? ?localStorage.setItem('cmts', JSON.stringify(list))

?? ??? ??? ??? ??? ??? ?this.user = this.content = ''

?? ??? ??? ??? ??? ??? ?this.$emit('func')

?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?}

?? ??? ??? ?var vm = new Vue({
?? ??? ??? ??? ?el: '#app',
?? ??? ??? ??? ?data: {
?? ??? ??? ??? ??? ?list: []
?? ??? ??? ??? ?},
?? ??? ??? ??? ?methods: {
?? ??? ??? ??? ??? ?loadComments() {
?? ??? ??? ??? ??? ??? ?// 從本地的 localStorage 中,加載評論列表
?? ??? ??? ??? ??? ??? ?var list = JSON.parse(localStorage.getItem('cmts') || '[]')

?? ??? ??? ??? ??? ??? ?this.list = list

?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?},
?? ??? ??? ??? ?components: {
?? ??? ??? ??? ??? ?'cmt-box': commentBox
?? ??? ??? ??? ?},
?? ??? ??? ??? ?created() {
?? ??? ??? ??? ??? ?this.loadComments()
?? ??? ??? ??? ?}
?? ??? ??? ?})
?? ??? ?</script>

?? ?</body>
</html>

效果圖

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解vue3結(jié)合ts項目中使用mockjs

    詳解vue3結(jié)合ts項目中使用mockjs

    這篇文章主要為大家介紹了vue3結(jié)合ts項目中使用mockjs示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Vue編譯器解析compile源碼解析

    Vue編譯器解析compile源碼解析

    這篇文章主要為大家介紹了Vue編譯器解析compile源碼解析示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 詳解vue項目中實現(xiàn)圖片裁剪功能

    詳解vue項目中實現(xiàn)圖片裁剪功能

    這篇文章主要介紹了vue項目中實現(xiàn)圖片裁剪功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Vue3?封裝擴展并簡化Vuex在組件中的調(diào)用問題

    Vue3?封裝擴展并簡化Vuex在組件中的調(diào)用問題

    這篇文章主要介紹了Vue3?封裝擴展并簡化Vuex在組件中的調(diào)用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • vue3.0 CLI - 2.1 -  component 組件入門教程

    vue3.0 CLI - 2.1 - component 組件入門教程

    這篇文章主要介紹了vue3.0 CLI - 2.1 - component 組件入門教程,本文主要的關(guān)注點就是組件,本文通過實例代碼相結(jié)合的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2018-09-09
  • 在vue中完美使用ueditor組件(cdn)解讀

    在vue中完美使用ueditor組件(cdn)解讀

    這篇文章主要介紹了在vue中完美使用ueditor組件(cdn)解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue2與Vue3兄弟組件通訊bus的區(qū)別及用法

    Vue2與Vue3兄弟組件通訊bus的區(qū)別及用法

    這篇文章主要介紹了Vue2與Vue3兄弟組件通訊bus的區(qū)別及用法,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進步早日升職加薪
    2021-09-09
  • Vue使用el-table實現(xiàn)自適應(yīng)列寬

    Vue使用el-table實現(xiàn)自適應(yīng)列寬

    這篇文章主要為大家詳細介紹了Vue使用el-table實現(xiàn)自適應(yīng)列寬,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • npm run dev報錯信息及解決方法

    npm run dev報錯信息及解決方法

    這篇文章主要為大家介紹了npm run dev報錯信息及解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • vue-print-nb解決vue打印問題,并且隱藏頁眉頁腳方式

    vue-print-nb解決vue打印問題,并且隱藏頁眉頁腳方式

    這篇文章主要介紹了vue-print-nb解決vue打印問題,并且隱藏頁眉頁腳方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論