angularJs(一) 第一个例子todoList

angularJs都到4了,我还在看angular1.*没法子啊,必须把以前没学习的恶补上来。以前都是做hello world作为第一个例子,现在都是做todoList咯。
效果图:
这里写图片描述
1、点击提交将输入框的值放入到任务列表中
2、点击删除则就从任务列表中移出相应的元素

代码如下:

<!DOCTYPE html>
<html lang="en" ng-app="todoList">
<head>
    <meta charset="UTF-8">
    <title>todoList</title>
    <link rel="stylesheet" type="text/css" href="./css/bootstrap.min.css">
</head>
<body style="padding: 15px" ng-controller="TaskCtrl">
<div class="input-group">
    <input ng-model="task" type="text" class="form-control"/>
        <span class="input-group-btn">
            <button class="btn btn-default" ng-click="add()">提交</button>
        </span>
</div>

<h4 ng-hide="tasks.length==0">任务列表</h4>
<ul class="list-group">
    <li ng-repeat="item in tasks track by $index" class="list-group-item">
        {{item}}
        <a ng-click="tasks.splice($index,1)" style="cursor: pointer">删除</a>
    </li>
</ul>
</body>
<script src="./angular/angular.min.js"></script>
<script type="text/javascript">
    angular.module('todoList', []).controller('TaskCtrl', function ($scope) {
        $scope.task = "";
        $scope.tasks = [];
        $scope.add = function () {
            $scope.tasks.push($scope.task);
        }
    });
</script>
</html>

如果用Jquery来实现代码大概如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="./css/bootstrap.min.css">
</head>
<body style="padding:15px">
<div class="input-group">
    <input type="text" class="form-control">
    <span class="input-group-btn">
           <button id="submitBtn" class="btn btn-default">提交</button>
    </span>
</div>

<h4 id="listTitle" style="display: none">任务列表</h4>

<ul class="list-group" id="groupList">
</ul>
<script src="./jquery/dist/jquery.min.js"></script>
<script type="text/javascript">

    function removeLi(el){
        $(el).parent().remove();
    }
    $("#submitBtn").click(function(){
        var inputEl=$(this).parent().prev();
       $("#groupList").append('<li class="list-group-item">'+inputEl.val()+'<a class="delHref" onClick="removeLi(this)">删除</a></li>');
        if($("#listTitle").is(':hidden')){
            $("#listTitle").show()
        }
    })
</script>
</body>
</html>

优劣势一眼就可以看出来咯。
angularJs结构清晰,便于维护,但前提是要非常熟悉angularJs的实现原理和封装的API。
Jquery:存在了大量的dom操作,而且需要对jquery的选择器非常熟悉。代码维护比较麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值