angularJs(一) 第一个例子todoList

ゝ一纸荒年。 2022-06-11 06:27 327阅读 0赞

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

代码如下:

  1. <!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来实现代码大概如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <link rel="stylesheet" type="text/css" href="./css/bootstrap.min.css">
  7. </head>
  8. <body style="padding:15px">
  9. <div class="input-group">
  10. <input type="text" class="form-control">
  11. <span class="input-group-btn">
  12. <button id="submitBtn" class="btn btn-default">提交</button>
  13. </span>
  14. </div>
  15. <h4 id="listTitle" style="display: none">任务列表</h4>
  16. <ul class="list-group" id="groupList">
  17. </ul>
  18. <script src="./jquery/dist/jquery.min.js"></script>
  19. <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>
  20. </body>
  21. </html>

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

发表评论

表情:
评论列表 (有 0 条评论,327人围观)

还没有评论,来说两句吧...

相关阅读