Vue实现简单的留言板

本文实例为大家分享了Vue实现简单的留言板的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<link rel="stylesheet" type="text/css" href="css/bootstrap.css" />

<style type="text/css">

body {

/* margin: 0; */

padding-left: 10px;

}

#app{

width: 400px;

height: auto;

}

.form-group {

margin-top: 10px;

}

.form-group textarea {

resize: none;

height: 144px;

width: 391px;

border-radius: 5px;

padding-left: 16px;

line-height: 16px;

padding-top: 10px;

font-size: 16px;

}

.content{

height: 244px;

width: 391px;

border-radius: 5px;

padding-left: 16px;

line-height: 10px;

padding-top: 10px;

font-size: 16px;

border:1px solid #ccc;

position: relative;

padding-right: 10px;

margin-bottom: 10px;

/* 纯字母或者数字导致不能换行 */

word-break:break-all;

word-wrap:break-word;

}

.p_img{

height: 60px;

width: 65px;

background-color: #ccc;

}

.p_img>img{

display: block;

height: 100%;

width: 100%;

}

.p_cont{

position: absolute;

top: 10px;

left: 85px;

line-height: 24px;

padding-right: 10px;

width: 300px;

height: auto;

background-color: #ccc;

}

.people{

position: absolute;

left: 13px;

top: 85px;

}

.timeDate{

position: absolute;

right: 10px;

bottom: 10px;

}

</style>

</head>

<body>

<div id="app">

<form action="#" method="">

<div class="form-group">

<label for="usename">用户名:</label>

<input type="text" name="username" id="username" v-model="username" placeholder="请输入名字">

</div>

<div class="form-group">

<p><label for="cont">评论内容:</label></p>

<textarea v-model="cont" placeholder="请输入内容"></textarea>

</div>

<div class="form-group" style="text-align: center;">

<input type="button" value="添加" @click="add">

<input type="reset" value="删除" @click="remove()">

</div>

</form>

<div v-show="this.arr.length == 0">暂无留言</div>

<div class="content" v-for="item in arr">

<div class="p_img">

<img :src="imgUrl"></img>

</div>

<div class="people">

{{item.username}}

</div>

<div class="p_cont">

<span>{{item.cont}}</span>

</div>

<div class="timeDate">

{{item.timer | dataFormat}}

</div>

</div>

</div>

<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>

<script>

// 定义全局过滤器进行时间格式化

Vue.filter('dataFormat', function(dataStr, pattern) {

// 根据给定的时间字符串,得到特定的时间

console.log(dataStr)

var dt = new Date(dataStr)

var y = dt.getFullYear()

var m = dt.getMonth()

var d = dt.getDate()

// return `${y} - ${m} -${d}`

if (pattern && pattern.toLowerCase() === 'yyyy-mm-dd') {

return `${y} - ${m+1} -${d}`

} else {

var hh = dt.getHours()

var mm = dt.getMinutes()

var ss = dt.getSeconds()

return `${y}年${m+1}月${d}日 ${hh}:${mm}:${ss}`

}

})

var app = new Vue({

el: '#app',

data: {

username: '',

cont:'',

arr: [],

imgUrl:"./images/people.jpg",

// imgUrl:"http://wx2.sinaimg.cn/bmiddle/006WWRhNgy1gbn1bc3itdj31410u0q7y.jpg",

// index:0

ctime:new Date()

},

methods: {

add(){

this.arr.unshift({

username:this.username,

cont:this.cont,

timer:this.ctime

});

this.username = '';

this.cont = "";

this.timer = ""

},

remove(index){

this.arr.splice(index, 1);

}

}

});

</script>

</body>

</html>

效果图:

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

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

以上是 Vue实现简单的留言板 的全部内容, 来源链接: utcz.com/p/218294.html

回到顶部