zoukankan      html  css  js  c++  java
  • angular项目——小小记事本2

    一,路由的规划。

    需要模拟的页面有三个:all,active,conplete.

    首先,写好铺垫需要的各种东西,重要的组件的引用等——

    这里我们会将index.html设为主页,将body.html加载到主页上——

     1 <html lang="en" ng-app="myTodo"><head>
     2         <meta charset="utf-8">
     3         <title>angularjs • TodoMVC</title>
     4         <link rel="stylesheet" href="node_modules/todomvc-common/base.css">
     5         <link rel="stylesheet" href="node_modules/todomvc-app-css/index.css">
     6         <style>
     7             .pagination {
     8                 overflow: hidden;
     9                 padding: 20px;
    10             }
    11             .pagination ul li {
    12                 width: 60px;
    13                 height: 30px;
    14                 line-height: 30px;
    15                 border:1px solid black;
    16                 float: left;
    17                 list-style-type: none;
    18                 margin-right: 10px;
    19                 text-align: center;
    20             }
    21         </style>
    22     </head>
    23     <body>
    24         <ng-view></ng-view> <!-- 路由区域,视图区域-->
    25         
    26         
    27         <script src="node_modules/angular/angular.js"></script>
    28         <script src="node_modules/angular-route/angular-route.js"></script>
    29         <script src="js/app.js"></script>
    30     
    31 
    32 </body>
    33 </html>

    主页的框架已经搭好,接下来是内容——body.html

     1 <section id="todoapp">
     2     <header id="header">
     3         <h1>todos</h1>
     4         <form style="margin:0" ng-submit="addTodo()">
     5             <input ng-model="newTodo" id="new-todo" placeholder="What needs to be done?" autofocus="">
     6         </form>
     7     </header>
     8     <section id="main" style="display: block;">
     9         <input ng-click="markAll(checked_statsus)" ng-model="checked_statsus" id="toggle-all" type="checkbox">
    10         <label for="toggle-all">Mark all as complete</label>
    11         <ul id="todo-list">
    12             <li ng-repeat="item in itemList|filter:filterStatus|createtimeSort track by $index" ng-class="{completed: item.completed, editing: item.edit_status}">
    13                 <div class="view">
    14                     <input class="toggle" type="checkbox" ng-model="item.completed">
    15                     <label ng-dblclick="editTodo(item)">{{item.title}}</label>
    16                     <button class="destroy" ng-click="remove(item)"></button>
    17                 </div>
    18                 <form ng-submit="saveEdit(item)">
    19                     <input todo-focus="item.edit_status" class="edit" ng-blur="saveEdit(item)" ng-model="item.title">
    20                 </form>
    21             </li>
    22         </ul>
    23         <div class="pagination">
    24             <ul>
    25                 <li ng-click="prevPage()">prevPage</li>
    26                 <li ng-click="setPage(index)" ng-repeat="index in pagelist()">{{index + 1}}</li>
    27                 <li ng-click="nextPage()">nextPage</li>
    28             </ul>
    29         </div>
    30     </section>
    31     <footer id="footer" style="display: block;">
    32     <span id="todo-count"><strong>{{remainCount}}</strong> items left</span>
    33     <ul id="filters">
    34         <li>
    35             <a ng-class="{selected: routName == 'all'}" href="#/all">All</a>
    36         </li>
    37         <li>
    38             <a ng-class="{selected: routName == 'active'}" href="#/active">Active</a>
    39         </li>
    40         <li>
    41             <a ng-class="{selected: routName == 'completed'}" href="#/completed">Completed</a>
    42         </li>
    43     </ul>
    44     <button id="clear-completed" ng-click="clearCompleted()">Clear completed</button>
    45 </footer>
    46 </section>

    因为要被加载到index上面,所以这个html中只有body部分的代码就够了。基本框架如上所示,其中的方法需要讲解一下——

    第4行——ng-submit="addTodo()"

      当这个表单被提交的时候会触发这个方法,方法是用来将内容记录下来的。

    第5行——

    <input ng-model="newTodo" id="new-todo" placeholder="What needs to be done?" autofocus="">

      一个input组件,设定了默认文字和自动获取光标

    第9行——

    <input ng-click="markAll(checked_statsus)" ng-model="checked_statsus" id="toggle-all" type="checkbox">
    一个选项框,点击之后触发markAll(checked_statsus)方法,作用是全选所有的列表项。

    11-22——

       循环输出所需要的列表项。12行的前面是过滤,后面是动态加载css类。

    24-28——

       三个按钮,分别控制前一页后一页

    32——<span id="todo-count"><strong>{{remainCount}}</strong> items left</span>

    动态显示某个内容,这个remainCount是后台的一个变量

    33-43 ——

    三个超链接,用于进行跳转。前面的ng-class用于动态切换css,当内容变为ng-class="{selected: true'}"的时候会使得自身处于被选中的css下。后面的是【页内】跳转。

    44——

    里面的方法clearCompleted()用于清空表单内容。

    至此,所有需要的方法,类,和注意事项已经书写清楚。css使用bookstap便足够,接下来就是app.js部分。

  • 相关阅读:
    Ubuntu1404: 将VIM打造为一个实用的PythonIDE
    事前备份胜于事后恢复
    做事不应当拘泥于既定的循例
    简单生活
    《犹太人思考术》读后感
    产品开发与运维的中心准则
    Awk使用一例:获取ASCII可见字符
    使用Sed和Awk实现批量文件的文本替换
    编写更少bug的程序的六条准则
    【JS新手教程】JS中的split()方法,拆分字符串
  • 原文地址:https://www.cnblogs.com/thestudy/p/5661680.html
Copyright © 2011-2022 走看看