zoukankan      html  css  js  c++  java
  • Part 7Handling events in AngularJS

    Let us understand with an example. Here is what we want to do.


    1. Display the list of technologies in a table

    2. Provide the ability to like and dislike a technology

    3. Increment the likes and dislikes when the respective buttons are clicked

    Script.js : In the controller function we have 2 methods to increment likes and dislikes. Both the functions have the technology object that we want to like or dislike as a parameter. 

     var app = angular
                .module("myModule", [])
                .controller("myController", function ($scope) {
     
                    var technologies = [
                        { name: "C#", likes: 0, dislikes: 0 },
                        { name: "ASP.NET", likes: 0, dislikes: 0 },
                        { name: "SQL", likes: 0, dislikes: 0 },
                        { name: "AngularJS", likes: 0, dislikes: 0 }
                    ];
     
                    $scope.technologies = technologies;
     
                    $scope.incrementLikes = function (technology) {
                        technology.likes++;
                    };
     
                    $scope.incrementDislikes = function (technology) {
                        technology.dislikes++;
                    };
    
                });

    HtmlPage1.html : Notice in the html below, we are associating incrementLikes() and incrementDislikes() functions with the respective button. When any of these buttons are clicked, the corresponsing technology object is automatically passed to the function, and the likes or dislikes property is incremented depending on which button is clicked.

     <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="Scripts/angular.min.js"></script>
        <script src="Scripts/Script.js"></script>
        <link href="Styles.css" rel="stylesheet" />
    </head>
    <body ng-app="myModule">
        <div ng-controller="myController">
            <table>
                <thead>
                    <tr>
                        <th>Name</th>
                        <th>Likes</th>
                        <th>Dislikes</th>
                        <th>Like/Dislike</th>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="technology in technologies">
                        <td> {{ technology.name }} </td>
                        <td style="text-align:center"> {{ technology.likes }} </td>
                        <td style="text-align:center"> {{ technology.dislikes }} </td>
                        <td>
                            <input type="button" ng-click="incrementLikes(technology)" value="Like" />
                            <input type="button" ng-click="incrementDislikes(technology)" value="Dislike" />
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
    </body>
    
    </html>

    Styles.css : Styles for table, td and th elements

     table {
        border-collapse: collapse;
        font-family:Arial;
    }
     
    td {
        border: 1px solid black;
        padding: 5px;
    }
     
    th {
        border: 1px solid black;
        padding: 5px;
        text-align: left;
    
    }
     
  • 相关阅读:
    PHPCMS V9 导航栏当前栏目高亮
    phpcms v9栏目列表调用每一篇文章内容方法
    PHPCMS V9 为今天或几天前文章加new
    vue.js路由参数简单实例讲解------简单易懂
    vue组件知识总结
    vue.js 利用组件之间通讯,写一个弹出框例子
    vue.js组件之间通讯--父组件调用子组件的一些方法,子组件暴露一些方法,让父组件调用
    vue.js组件之间的通讯-----父亲向儿子传递数据,儿子接收父亲的数据
    vue.js通讯----父亲拿儿子的数据
    git常见操作---由简入深
  • 原文地址:https://www.cnblogs.com/gester/p/5100864.html
Copyright © 2011-2022 走看看