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


Posted in Javascript onAugust 29, 2018

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>

总结

以上所述是小编给大家介绍的angularjs实现对表单输入改变的监控,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery Flash/MP3/Video多媒体插件
Jan 18 Javascript
$.get获取一个文件的内容示例代码
Sep 11 Javascript
JS获得图片alt信息的方法
Apr 01 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
Aug 26 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
深入理解javascript函数参数与闭包
Dec 12 Javascript
JavaScript箭头(arrow)函数详解
Jun 04 Javascript
详解使用vuex进行菜单管理
Dec 21 Javascript
JS实现字符串中去除指定子字符串方法分析
May 17 Javascript
layDate日期控件使用方法详解
Nov 15 Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 Javascript
JQuery省市联动效果实现过程详解
May 08 jQuery
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 #jQuery
JS实现数组的增删改查操作示例
Aug 29 #Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
Aug 29 #Javascript
vue-cli3.0使用及部分配置详解
Aug 29 #Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
Aug 29 #Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 #Javascript
Vue实现美团app的影院推荐选座功能【推荐】
Aug 29 #Javascript
You might like
php的sso单点登录实现方法
2015/01/08 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
Javascript实现单张图片浏览
2014/12/18 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python的pycurl包用法简介
2015/11/13 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
python 操作hive pyhs2方式
2019/12/21 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
python如何将图片转换素描画
2020/09/08 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
365 Tickets英国:全球景点门票
2019/07/06 全球购物
交通事故协议书范文
2014/10/23 职场文书
医院营销工作计划
2015/01/16 职场文书
工作简报怎么写
2015/07/21 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
js中Object.create实例用法详解
2021/10/05 Javascript
使用Java去实现超市会员管理系统
2022/03/18 Java/Android
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang