zoukankan      html  css  js  c++  java
  • angularjs通过ng-change和watch两种方式实现对表单输入改变的监控

    angularjs通过ng-change和watch两种方式实现对表单输入改变的监控

    直接上练习代码

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
    </head>
    <body ng-app="myApp" ng-controller="myContro">
        <div>
            <h1>ng-change指令</h1>
            ng-change指令,当表单输入发生改变时,会触发该事件<br />
            <div>
                姓名:<input type="text" id="name1" ng-model="user.name"
                    placeholder="请输入姓名" ng-change="inputChange()" />
            </div>
            <div>
                年龄:<input type="number" ng-model="user.age"
                    placeholder="请输入年龄" ng-change="inputChange()" />
            </div>
            <div>{{user.message}}</div>
        </div>
        <div>
            <h1>通过监听改变达到和ng-chang一样的效果</h1>
            <div>
                姓名:<input type="text" id="name2" ng-model="user2.name"
                    placeholder="请输入姓名" />
            </div>
            <div>
                年龄:<input type="number" ng-model="user2.age"
                    placeholder="请输入年龄" />
            </div>
            <div>{{user2.message}}</div>
        </div>
    </body>
    </html>
    <script src="../JS/angular.js"></script>
    <script type="text/javascript">
        var app = angular.module("myApp", []);
        app.controller("myContro", function ($scope, $interpolate) {
            $scope.user = {
                name: "",
                age: "",
                message: ""
            };
    
            $scope.user2 = {
                name: "",
                age: "",
                message: ""
            };
    
            $scope.messageTemp = "{{name}},您好,您今年{{age}}岁啦!";
            var template = $interpolate($scope.messageTemp);
            $scope.inputChange = function () {
                $scope.user.message = template({ name: $scope.user.name, age: $scope.user.age });
            };
    
            //// 下面通过watch监听实现ng-change一样的效果
            $scope.$watch("user2.name", function (newValue, oldValue) {
                $scope.getMessage(newValue, oldValue);
            });
    
            $scope.$watch("user2.age", function (newValue, oldValue) {
                $scope.getMessage(newValue, oldValue);
            });
    
            $scope.getMessage = function (value1, value2) {
                if (value1 != value2) {
                    $scope.user2.message = template({ name: $scope.user2.name, age: $scope.user2.age });
                }
            }
        });
    </script>
  • 相关阅读:
    iOS- 网络访问JSON数据类型与XML数据类型的实现思路及它们之间的区别
    iOS- AVSpeechSynthesizer——iOS7语音合成器
    iOS- 利用AFNetworking(AFN)
    iOS- 利用AFNetworking(AFN)
    iOS- NSThread/NSOperation/GCD 三种多线程技术的对比及实现
    iOS- 多线程技术的概述及优点
    150. Best Time to Buy and Sell Stock II【medium】
    213. String Compression【easy】
    495. Implement Stack【easy】
    547. Intersection of Two Arrays【easy】
  • 原文地址:https://www.cnblogs.com/xiaoXuZhi/p/angularjs-ngChange-watch.html
Copyright © 2011-2022 走看看