angular16-$watch监视数据变化

简介: angular16-$watch监视数据变化
<!DOCTYPE html>
     <html lang="en" ng-app="HelloApp">
     <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <title>Document</title>
     </head>
     <body>
         <table ng-controller="WorldController">
             <tr>
                 <td>用户名</td>
                 <td><input type="text" ng-model="user.username"></td>
             </tr>
             <tr>
                 <td>密码</td>
                 <td><input type="text" ng-model="user.password"></td>
             </tr>
             <tr>
                 <td></td>
                 <td><input type="button" ng-click="login()" value="登录"></td>
             </tr>
             <tr>
                 <td></td>
                 <td><input type="text" ng-model="user.message"></td>
             </tr>
         </table>
         <script src="./js/Angular.js"></script>
         <!-- 第一个参数是这个模块的名字 第二个参数是模块所依赖的模块 -->
         <script>
             var app = angular.module('HelloApp', []);
             //勇于创建一个控制器
             //创建一个控制器 属于myApp模块
             //传一个参数是获取 传两个参数是创建 会根据参数名称传递对象 所以要保证准确
             app.controller('WorldController', ['$scope', function($scope) {
                 //当控制器执行会自动执行的函数
                 /*       $scope.username='';
                       $scope.password=''; */
                 $scope.user = {
                     username: '',
                     password: ''
                 };
                 //行为数据
                 $scope.login = function() {
                     //因为数据的变化是双向的同步 所以界面上的值变化会同步大屏scope
                     console.log($scope.user)
                 };
                 //监视模型的变化
                 $scope.message = '请输入用户名'
                 $scope.$watch('user.username', function(now, old) {
                     console.log('now is' + now);
                     console.log('old is' + old);
                     if (now) {
                         if (now.length < 7) {
                             $scope.message = '输入格式不合法'
                         } else {
                             $scope.message = '';
                         }
                     } else {
                         $scope.message = '请输入用户名';
                     }
                 })
             }])
         </script>
     </body>
     </html>

image.png

相关文章
|
前端开发 API 开发者
JSF与RESTful服务的完美邂逅:如何打造符合现代Web潮流的数据交互新体验
【8月更文挑战第31天】随着互联网技术的发展,RESTful架构风格因其实现简便与无状态特性而在Web服务构建中日益流行。本文探讨如何结合JavaServer Faces (JSF) 和 JAX-RS 构建RESTful API,展示从前端到后端分离的完整解决方案。通过定义资源类、配置 `web.xml` 文件以及使用依赖注入等步骤,演示了在JSF项目中实现RESTful服务的具体过程,为Java开发者提供了实用指南。
124 1
|
前端开发 UED 开发者
无障碍设计的魔法:JSF让每个用户都能畅游数字世界!
【8月更文挑战第31天】本文介绍如何使用JavaServer Faces (JSF)构建无障碍Web应用,确保所有用户都能访问和使用。文章通过实际代码示例展示了如何利用ARIA属性增强组件、实现键盘导航、提供文本替代以及使用语义化标签等技术。无障碍设计不仅是道德责任,也是提升用户体验的关键。通过这些方法,JSF可以帮助开发者创建更加公平和包容的应用。
116 0
|
前端开发 数据处理 数据库
Angular与Firebase的完美联合:掌握实时数据同步技术——从环境配置到数据服务的详细实现指南
【8月更文挑战第31天】在现代Web应用中,实时数据同步对于提升用户体验至关重要。本文档详细介绍如何在Angular应用中集成Firebase实时数据库,包括准备工作、配置环境、实现实时数据同步及在组件中使用数据服务等步骤。通过本教程,开发者将掌握利用Angular与Firebase高效实现数据同步的方法,增强应用的实时互动性。
133 0
|
缓存 前端开发 安全
Angular 与 GraphQL 强势联合超厉害!现代前端数据获取新范式,开启高效开发新旅程!
【8月更文挑战第31天】在前端开发领域,Angular 与 GraphQL 的结合为数据获取带来了革命性的变化。Angular 凭借其强大的组件化开发模式和依赖注入特性,成为构建大型应用的理想选择。然而,在数据获取上,传统 RESTful API 显得力不从心。这时,GraphQL 出现了,它允许前端精确获取所需数据,避免了数据过度获取或不足的问题。通过一个简单的查询语句,即可一次性获取所需数据,极大地提升了效率。虽然在实际应用中仍需解决缓存和错误处理等问题,但这种结合无疑为现代前端数据获取开辟了新道路,推动技术不断进步。
107 0
|
存储 JavaScript 前端开发
Angular数据状态管理框架:NgRx/Store
ngrx/store 是基于RxJS的状态管理库,其灵感来源于Redux。在NgRx中,状态是由一个包含action和reducer的函数的映射组成的。Reducer函数经由action的分发以及当前或初始的状态而被调用,最后由reducer返回一个不可变的状态。
716 0
Angular数据状态管理框架:NgRx/Store
|
API 索引
理解Angular RxJS映射数据操作
Map 数据是程序开发时的一种常见操作。当在代码中使用RxJS来生成数据流时,很可能最终需要一种方法来将数据映射成需要的任何格式。RxJS提供了常规的 map 函数,还有 mergeMap、switchMap和concatMap这样的函数,它们的处理方式略有不同。
199 0
|
JavaScript 前端开发
【曹操】 angular js双向绑定数据通过bootstrap请求获取不到表单数据
在做项目的时候,在VidyoCallFlowEntry页面中,通过name字段双击跳转弹出VidyoCallFlow页面,同时传入name的值作为参数进行查询,并展示查询结果。但在路由中获取到name的值,通过angular js双向绑定的方式赋值给VidyoCallFlow页面的vidyoname的值,发现并没有查询到结果,但是根据该name的值在数据库中查询,是有结果的。
1554 0
|
移动开发 HTML5
angular2 移动到底部数据自动加载
http://www.newlifeclan.com/html5/archives/253
996 0