【练习】angularJs练习(tab栏切换、待办事项、$http)

1.tab栏切换(ng-click、ng-switch on、ng-switch-when、ng-class)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.current{
background: red;
}
</style>
</head>
<body ng-app="app">
<div ng-controller="controller">
<nav>
<!-- ng-class="{类名:布尔值}" true时添加这个类名,false不添加这个类名;此时的type表示$scope.type -->
<a href="#" ng-click="switch('local')" ng-class="{current:'local'==type}">国内新闻</a>
<a href="#" ng-click="switch('global')" ng-class="{current:'global'==type}">国际新闻</a>
<a href="#" ng-click="switch('sport')" ng-class="{current:'sport'==type}">体育新闻</a>
</nav>
<!-- 这个type指的是$scope.type -->
<div ng-switch on="type">
<!-- 当ng-switch on和ng-switch-when中对应的数据一样时,才会显示 -->
<div ng-switch-when="local">国内新闻国内新闻国内新闻国内新闻</div>
<div ng-switch-when="global">国际新闻国际新闻国际新闻国际新闻</div>
<div ng-switch-when="sport">体育新闻体育新闻体育新闻体育新闻</div>
</div>
</div>
<script src="angularjs/angularjs.js"></script>
<script>
var app=angular.module("app",[]);
app.controller("controller",["$scope",function($scope){
$scope.switch=function(type){
$scope.type=type;
}
}]);
</script>
</body>

</html>

2.待办事项:在输入框输入事项,添加到未完成事项中;点击事项表示已完成添加到已完成事项中

(ng-submit、ng-model双向数据绑定、ng-repeat循环、ng-checked、ng-click、截取数组方法splice)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body ng-app="app">
<div ng-controller="controller">
<!-- 添加事项 -->
<div>
<!-- input框输入事项后,回车就将数据传入model,这个事件用form表单中的submit事件 -->
<!-- add函数里面传不传name都可以,因为name此时已经是$scope.name双向数据绑定,在model直接使用$scope.name即可 -->
<!-- <form action="" ng-submit="add(name)"> -->
<form action="" ng-submit="add()">
<input type="text" ng-model="name"></form>
<div>
<ul>
<!-- 循环写在要循环创建的标签上 -->
<!-- 点击input后会完成该事项 -->
<li  ng-repeat="(key,todo) in todos">
<!-- 点击事件要把key传过去,因为你点击的哪一个得告诉 model,model再把这个数据添加到已完成 -->
<input type="checkbox" ng-checked="todo.flag" ng-click="finish(key)">
<label for="">{{todo.name}}</label>
</input>
<!-- 和上面input点击事件一样,要传个key来表示你删除的是哪一个 -->
<button ng-click="delete(key)">删除</button>
</li>


<!-- 上下两个一个用cheakbox一个就直接显示,都要添加点击事件,一点击就代表已完成,把这个添加到已完成 -->
<!-- <li ng-repeat="(key,todo) in todos" ng-click="finish(key)">
{{todo.name}}
</li> -->
</ul>
</div>
</div>
<!-- 已完成事项 -->
<div>
<h5>已完成</h5>
<ul>
<li  ng-repeat="(key,val) in dones">
<!-- 点击事件要把key传过去,因为你点击的哪一个得告诉 model,model再把这个数据添加到已完成 -->
<input type="checkbox" ng-checked="val.flag">
<label for="">{{val.name}}</label>
</input>
</li>
</ul>
</div>
</div>
<script src="angularjs/angularjs.js"></script>
<script>
var app=angular.module("app",[]);
app.controller("controller",["$scope",function($scope){
// 待办事项是一个数组,每次add就给里面增加内容
$scope.todos=[];
$scope.add=function(){
$scope.todos.push({"name":$scope.name,"flag":false});
// 添加完之后清空input中的数据
$scope.name="";
}
// 已完成数组
$scope.dones=[];
$scope.finish=function(key){
// 待办事项数组中要把这个key值数据删掉并添加进已完成数组,用splice,用过之后返回值还是一个数组,里面只有一个数据,所以要取【0】
$scope.done=$scope.todos.splice(key,1)[0];
$scope.dones.push({"name":$scope.done.name,"flag":true});
}
$scope.delete=function(key){
// 删除数据
$scope.todos.splice(key,1);
}
}])
</script>
</body>

</html>

3.$http

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body ng-app="app">
<div ng-controller="controller">

</div>
<script src="angularjs/angularjs.js"></script>
<script>
var app=angular.module("app",[]);
app.controller("controller",["$scope","$http",function($scope,$http){


$http({
url: 'example.php',
// 这是get请求方式:传递参数必须用params,会把name=itcast添加到url后面,数据是query string parameters格式(key=value的格式)
// method:"get",
// params:{
// "name":"itcast"
// }
// 这是post请求方式:传递参数必须用data,且angularjs不会把对象形式的参数转换成name=itcast,(get直接就是这个格式),所以传入的一定要是这个格式。数据是form data格式
method: 'post',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: 'name="itcast"'  // post 传参
}).success(function (info) {
console.log(info);
});
}]);
</script>
</body>

</html>

4.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jquery-demo 青否云 Jquery demo 官网 http://cloud.qingful.com 演示 https://qingful.github.io/jquery-demo/index.html 账号:13253522080 密码:mmmmmm 使用 登录青否云 创建应用 数据设置。 创建数据表。 创建数据表user,引擎和校对默认即可。点击显示结构,添加字段phone,类型选择bigint,长度值为11,其余默认。添加字段password,类型选择text,其余默认。 创建数据表todos,引擎和校对默认即可。点击显示结构,添加字段content,类型选择text,其余默认。添加字段user_id,类型选择int,其余默认。添加字段status,类型选择int,其余默认。 权限设置。 创建密钥,名称Authorization,密钥随便设置。 创建分组,分别创建public和home分组。 组权限,创建home的组权限,并选择Authorization秘钥。 表权限。 创建todos表权限,选择home分组,选择todos数据表,权限勾选查询、新增、更新、删除,密钥选择为空。 创建user表权限,选择public分组,选择user数据表,权限勾选查询、新增,密钥选择为Authorization。 字段。 点击创建字段,选择public分组,user数据表,password字段,值为空,类型选择md5,传值选择是,请求链接选择为空。 点击创建字段,选择home分组,todos数据表,user_id字段,值为Authorization.id。类型为空,传值选择否,请求链接选择为空。 配置demo文件下的./js/config.js中的appid,appkey(青否云帐号应用下的设置中获取) 青否云 一站式后端云服务解决方案。为H5,小程序,APP等应用,提供高效,简单,安全的后端云服务支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值