今天使用angularJs写了一个留言板,简单的享受了下angular处理数据的双向绑定的方便;注释已经都写到行间了

<!DOCTYPE html>
<html lang="en" ng-app="text">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="base.css">
<style>
.main{
width: 600px;
height: 250px;
background:#ccc;
margin: auto;
padding:10px;
}
.main_title{
width: 100px;
height: 20px;
font:20px/20px '微软雅黑';
margin:5px auto;
color:aqua;
}
input,textarea{
background:#fff;
}
#sub{
width: 40px;
height: 20px;
background:skyblue;
cursor:pointer;
}
.none_mes{
width: 620px;
height: 40px;
background:rgba(,,,0.8);
text-align:center;
font:20px/40px '微软雅黑';
margin: auto;
}
.message{
width: 600px;
height: 100px;
background:rgba(,,,0.8);
margin: auto;
padding:10px;
}
.message .name,.message .job,.message .mes{
height: 20px;
width: 620px;
}
.message .del{
width: 40px;
height: 20px;
background:orangered;
text-align:center;
line-height:20px;
cursor:pointer;
}
</style>
<script src="angular.js"></script>
<script>
var app=angular.module('text',[]);
app.controller('add_msg',function($scope){
//先清空留言填写处的信息
$scope.data=[];
$scope.username='';
$scope.job='';
$scope.mes='';
//点击确定添加内容 这里只是添加了一个add的方法,在点击确定按钮的时候添加调用事件ng-click模型
$scope.add=function(){
//进行判断,当留言内容齐全的时候允许添加,不全的时候提示用户
if($scope.username && $scope.job && $scope.mes){ $scope.data.push({
username:$scope.username,
job:$scope.job,
mes:$scope.mes
});
//将信息存入到localstorage中
localStorage.username=$scope.username;
localStorage.job=$scope.job;
localStorage.mes=$scope.mes;
//获取到内容后再次清空留言填写处的信息
$scope.username='';
$scope.job='';
$scope.mes='';
}else{
alert('请填写全部内容');
} };
//点击删除的时候,因为data为数组,删除当前数组这一项就可以,$index为索引,
$scope.delete=function(index){
$scope.data.splice(index,);
localStorage.clear();
};
//增加键盘回车提交功能,当全部输入后可以在最后一个输入位置按回车提交
$scope.keyup=function(){
if(ev.keyCode==){
//当回车的时候条用add函数
this.add();
}
};
});
</script>
</head>
<body style="color:#000" ng-controller="add_msg">
<div class="main" >
<div class="main_title">留言板</div>
<div>
<span class="name">姓名</span><input type="text" name="" ng-model="username">
<span class="name">所属公司</span><input type="text" name="" ng-model="job">
<div class="name">留言内容</div>
<textarea name="" cols="" rows="" ng-model="mes" ng.keyup="keyup($event)"></textarea><br />
<input type="button" value="确定" id="sub" ng-click="add()">
</div>
</div>
<div class="none_mes" ng-show="data.length==0">暂无留言</div>
<!--item in data angular里的循环样式 在需要内容的地方加相应的值。-->
<div class="message" ng-repeat="item in data">
<ul>
<li class="name">姓名:{{item.username}}</li>
<li class="job">公司:{{item.job}}</li>
<li class="mes">留言内容:{{item.mes}}</li>
<li class="del" ng-click="delete($index)">删除</li>
</ul>
</div>
</body>
</html>

angular留言板的更多相关文章

  1. angular实现动态的留言板案例

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. AngularJs学习笔记(制作留言板)

    原文地址:http://www.jmingzi.cn/?post=13 初学Anjularjs两天了,一边学一边写的留言板,只有一级回复嵌套.演示地址 这里总结一下学习的过程和笔记.另外,看看这篇文章 ...

  3. dd——留言板再加验证码功能

    1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表  这个不要碰, ...

  4. asp.net留言板项目源代码下载

    HoverTree是一个asp.net开源项目,实现了留言板功能. 前台体验网址:http://hovertree.com/guestbook/ 后台请下载源代码安装. 默认用户名:keleyi 默认 ...

  5. html的留言板制作(js)

    这次留言板运用到了最基础的localstorage的本地存储,展现的效果主要有: 1.编写留言2.留言前可以编辑自己的留言昵称.不足之处: 1.未能做出我喜欢的类似于网易的叠楼功能. 2.未能显示评论 ...

  6. 11月8日PHP练习《留言板》

    一.要求 二.示例页面 三.网页代码及网页显示 1.denglu.php  登录页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  7. [课程设计]Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案)

    Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统W ...

  8. [课程设计]Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计)

    Scrum 3.6 多鱼点餐系统开发进度(用户测试反馈页面构思&留言板设计) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团 ...

  9. 用 Express4 写一个简单的留言板

    Knowledge Dependence:阅读文本前,你需要熟悉 Node.js 编程.Express 以及相关工具和常用中间件的使用. Node.js 以其单线程异步非阻塞的特点,越来越被广大的 W ...

随机推荐

  1. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  2. 微信小程序开发之如何哪获取微信小程序的APP ID

    微信小程序的开发工具,在新建项目的时候,默认提示填写APP ID,如果不填写AppID 也是可以本地测试和开发的,但是无法通过手机调试,只能在开发工具里查看 如果需要真机调试微信小程序,需要安装微信6 ...

  3. 操作系统开发系列—10.内核HelloWorld ●

    a.我们先来体验一下在Linux下用汇编编程的感觉,见代码 [section .data] ; 数据在此 strHello db "Hello, world!", 0Ah STRL ...

  4. iOS创建、删除文件夹、获取沙盒路径

    1.获取沙盒路径 // 获取沙盒路径 NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent: ...

  5. Android 加载大图片到内存

    本文演示android中图片加载到内存 首先设计界面: 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/ap ...

  6. [原] Android 自定义View步骤

    例子如下:Android 自定义View 密码框 例子 1 良好的自定义View 易用,标准,开放. 一个设计良好的自定义view和其他设计良好的类很像.封装了某个具有易用性接口的功能组合,这些功能能 ...

  7. 通过系统架构漏洞获取系统VIP资源

    首先说我的构思: 一本小说,有很多集,每一集请求下载都会生成一个k的json,例如: 有了这个k我们就可以定位到这一集具体的位置,这本小说是固定的id,每一集的K找到了,剩下的不就简单了. 再通过抓包 ...

  8. IntelliJ IDEA 12.1.4 解决中文乱码

    一.进入IDE Settings 里的 Appearance项,选中Override default fonts by ,把 Name 设置为 SimSun,Size 根据自己喜好设置(我一般设为 1 ...

  9. MetaWeblog API调用

    http://rpc.cnblogs.com/metaweblog/webenh 在网上闲逛,突然对博客的接口感兴趣,经考察,多数博客都对metaWeblog Api 提供了支持,虽然windows ...

  10. Linux下Rsync+sersync实现数据实时同步

    inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...