vue实现发表评论功能

 更新时间:2022年04月14日 16:57:46   作者:Seven_drunk  
这篇文章主要为大家详细介绍了vue实现发表评论功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了vue实现发表评论的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="bootstrap-3.3.7.css" />
        <title></title>
    </head>
    <script src="vue-2.4.0.js"></script>
    <body>
    <div id="app">
        <ctm @func="show"></ctm>
        <ul class="list-group">
            <li class="list-group-item" v-for="item in list" :key="item.id">
                <span class="badge">评论人{{item.user}}</span>
                {{item.content}}
            </li>
        </ul>
     </div>
     <template id="tmp1">
         <div>
             <div class="form-group">
                <label>评论人:</label>
                <input type="text" class="form-control" v-model="user"/>
             </div>
             <div class="form-group">
                             <label>评论内容:</label>
                             <textarea class="form-control" v-model="content"></textarea>
             </div>
             <div class="form-group">
                 <input type="button" class="btn-primary" value="发表评论" @click="postComment"/>
             </div>
         </div>
     </template>
     <script>
            var com={
                template:'#tmp1',
                data(){
                    return{
                        user:'',
                        content:''
                    }
                },
                methods:{
                    postComment(){
                        //得到的先摆出来
                        var comments={id:Date.now(),user:this.user,content:this.content}
                        //获取之前列表所有的内容,由字符串形式转换成对象形式
                        var list=JSON.parse(localStorage.getItem('cmt')||'[]')
                        //往list列表里面追加
                        list.unshift(comments)
                        //然后存到localStorage里面去,转化为字符串形式
                        localStorage.setItem('cmt',JSON.stringify(list))
                        this.user=this.content=''
                        this.$emit('func')
                    }
                }
            }
               // 创建 Vue 实例,得到 ViewModel
               var vm = new Vue({
                 el: '#app',
                 data: {
                     list:[
                        {id:Date.now(),user:'小小',content:'天生我材必有用'},
                        {id:Date.now(),user:'小小1',content:'天生我材'},
                    ]    
                 },
                //使用生命周期函数,created函数已经把data和methods创建好了,必须用this
                //需要自动刷新,所以要用到父组件为子组件传递方法
                created(){
                    this.show()
                },
                methods: {
                    show(){
                        //显示,先获取localStorage的内容,转为对象
                        var list=JSON.parse(localStorage.getItem('cmt')||'[]')
                        this.list=list
                    }
                    },
                components:{
                    'ctm':com
                }
                })
    </script>
    </body>
</html>

效果图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • vue项目依赖检查depcheck问题

    vue项目依赖检查depcheck问题

    这篇文章主要介绍了vue项目依赖检查depcheck问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • vue打开新窗口并实现传参的图文实例

    vue打开新窗口并实现传参的图文实例

    这篇文章主要给大家介绍了关于vue打开新窗口并实现传参的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • vue中的get方法\post方法如何实现传递数组参数

    vue中的get方法\post方法如何实现传递数组参数

    这篇文章主要介绍了vue中的get方法\post方法如何实现传递数组参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue3中导入和使用图标库Font Awesome的实现步骤

    Vue3中导入和使用图标库Font Awesome的实现步骤

    Font Awesome 是互联网的图标库和工具包,被数百万设计师、开发人员和内容创建者使用,Font Awesome的图标非常丰富,基本涵盖你所需要的所有,本文给大家介绍了Vue3中导入和使用图标库Font Awesome的具体步骤,需要的朋友可以参考下
    2025-01-01
  • vue2如何安装引入Ant Design

    vue2如何安装引入Ant Design

    这篇文章主要介绍了vue2如何安装引入Ant Design问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue3之父子组件异步props数据的传值方式

    Vue3之父子组件异步props数据的传值方式

    这篇文章主要介绍了Vue3之父子组件异步props数据的传值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • vue通过点击事件读取音频文件的方法

    vue通过点击事件读取音频文件的方法

    最近做项目遇到这样的一个需求,通过select元素来选择音频文件的名称,点击按钮可以进行试听。接下来通过本文给大家介绍vue项目中通过点击事件读取音频文件的方法,需要的朋友可以参考下
    2018-05-05
  • 基于better-scroll 实现歌词联动功能的代码

    基于better-scroll 实现歌词联动功能的代码

    BetterScroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件,BetterScroll 是使用纯 JavaScript 实现的,这意味着它是无依赖的。本文基于better-scroll 实现歌词联动功能,感兴趣的朋友跟随小编一起看看吧
    2020-05-05
  • Vue-router跳转和location.href的区别及说明

    Vue-router跳转和location.href的区别及说明

    Vue Router是Vue.js官方的路由管理器,它允许我们通过定义路由来管理应用程序的不同视图和状态,Vue路由跳转主要有以下几种方式:<router-link>标签、this.$router.push方法、this.$router.replace方法和this.$router.go方法
    2025-01-01
  • vue使用Pinia的五个实用技巧分享

    vue使用Pinia的五个实用技巧分享

    这篇文章主要为大家详细介绍了vue中使用Pinia是五个实用技巧,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-11-11

最新评论