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 相关文章推荐
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
javascript对象的相关操作小结
May 16 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
Jun 15 Javascript
解析JavaScript中的字符串类型与字符编码支持
Jun 24 Javascript
webpack+vue.js快速入门教程
Oct 12 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
JavaScript实现修改伪类样式
Nov 27 Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
JavaScript 九种跨域方式实现原理
Feb 11 Javascript
vue中的面包屑导航组件实例代码
Jul 01 Javascript
js实现带搜索功能的下拉框
Jan 11 Javascript
详解JavaScript 事件流
Sep 02 Javascript
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
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
Python常用内置模块之xml模块(详解)
2017/05/23 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
毕业自荐信
2013/12/16 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
英语教育专业自荐信
2014/05/29 职场文书
保护环境标语
2014/06/09 职场文书
社团活动总结报告
2014/06/27 职场文书
销售顾问工作计划书
2014/08/15 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
Python图像处理之图像拼接
2021/04/28 Python
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL