码迷,mamicode.com
首页 > 其他好文 > 详细

vue-example

时间:2019-11-02 13:30:19      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:color   key   button   font   return   rip   tar   label   type   

一:组件案例发表评论

HTML代码如下:

<body>
    <div id="app">
        <com1 @func="loadComments"></com1>
        <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="box">
        <div>
            <div class="form-group">
                <label>评论人:<input type="text" class="form-control" v-model="user"></label>
            </div>
            <div class="form-group">
                <label>评论内容:<textarea class="form-control" v-model="content"></textarea></label>
            </div>
            <div class="form-group">
                <input type="button" value="评论" class="btn btn-primary" @click="postComment"></input>
            </div>
        </div>
    </template>
</body>

vue代码如下:

<script>
    var commentBox = {
        template: #box,
        data() {
            return {
                user: ‘‘,
                content: ‘‘,
            }
        },
        methods: {
            postComment() {//发表评论的按钮
                // 获取评论数据
                var comment = { id: Date.now(), user: this.user, content: this.content }
                // 从localStorage中获取评论
                var list = JSON.parse(localStorage.getItem(cmts) || []);
                list.unshift(comment);
                // 重新保存最新的评论数据,
                localStorage.setItem(cmts, JSON.stringify(list));
                // 点击评论之后,清空数据
                this.user = this.content = ‘‘;
                //点击评论的时候就,子组件调用父组件的方法来刷新
                this.$emit(func);
            }
        },
    }
    new Vue({
        el: #app,
        data: {
            list: [
                { id: Date.now(), user: 李四1, content: 天生我才必有用1 },
                { id: Date.now(), user: 李四2, content: 天生我才必有用2 },
                { id: Date.now(), user: 李四3, content: 天生我才必有用3 },
            ]
        },
        created() {
            this.loadComments();
        },
        methods: {
            loadComments(){
                 // 从localStorage中获取评论,刷新页面
                 var list = JSON.parse(localStorage.getItem(cmts) || []);
                 this.list=list;
            }
        },
        components: {
            com1: commentBox
        }
    });

 

vue-example

标签:color   key   button   font   return   rip   tar   label   type   

原文地址:https://www.cnblogs.com/pengppp/p/11781343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!