Angular实现“我的备忘录”

利用angular实现一个简单的“我的备忘录”
.html

<body ng-app="todoApp" >
  <div ng-controller="myCtril">
    <h2>我的备忘录</h2>
    <div>
      <input type="text" ng-model="addTotal">
      <button ng-click="add()">添加</button>
    </div>
    <div ng-repeat="todo in total">
      <input type="checkbox" ng-model="todo.isChecked">
      <span>{{todo.name}}</span>
    </div>
    <button ng-click="delete ()">删除所选中的选项</button>
  </div>
<script type="text/javascript" src="../../js/angular-1.5.5/angular.js"></script>
<script type="text/javascript" src="app.js"></script>
</body>

.js

angular.module('todoApp',[])
      .controller('myCtril',['$scope',function (a) {
              a.total = [
                {name:'吃饭',isChecked:false},
                {name:'睡觉',isChecked:false},
                {name:'看书',isChecked:false},
                {name:'背单词',isChecked:false},
                {name:'跑步',isChecked:false},
                ]

      //  定义添加的方法
              a.add = function () {
                //判断用户输入的内容是否合法
                if(!a.addTotal){
                  alert('输入的内容不能为空')
                  return
                }
              //  收集  整理数据
                var obj = {
                  name:a.addTotal,
                  isChecked:false
                }
                a.total.unshift(obj)   //unshift将输入的内容添加到数组的前面
                a.addTotal = ''   //执行后清空
              }

              //定义删除的方法 :遍历数组删除所选input
             /* a.delete = function(){
                a.total.forEach(function(item,index){
                //    找到选中的total
                      if(item.isChecked){   //用户当前选中的
                        a.total.splice(index,1)
                        a.delete() //递归调用,删除选中的第一个以后,在接着删除后面选中的
                      }
                })
              }*/
              //定义删除的方法:将数组赋值给一个空数组,显示为选中的数组单元
                a.delete = function () {
                  var oldTotal = a.total
                  a.total = []
                  oldTotal.forEach(function (item,index) {
                    //找到未选中的留下来
                    if(!item.isChecked){  //未选中的数组单元
                      a.total.push(item)
                    }

                  })

                }
      }])

效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值