AngularJS 中ng-model通过$watch动态取值

这个例子的意思是,当xxxx的长度不超过6时,xxxx和yyyy两个input的model是无关的,但当xxxx超过6,则yyyy会跟随其值而变化。

另一种做法是在input的ng-model后面添加ng-change关联一个函数,进行动态更新,也可以达到类似的效果。

这两种做法本质上都没有改变ng-model指向的对象,但是能把另一个model的变化反映到自己身上来。

 

<!doctype HTML>
<html>

<head lang="en">
  <meta charset="utf-8">

  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
  <script type="text/javascript">
    var app = angular.module('app', []);
    app.controller('AppCtrl', function($scope) {

      $scope.xxxx = "apple";
      $scope.yyyy = "banana";

      $scope.$watch('xxxx', function() {

        if ($scope.xxxx.length > 6) {
          $scope.yyyy = "***" + $scope.xxxx + "***";
        } else {}
      });
    });
  </script>


</head>

<body ng-app="app" ng-controller="AppCtrl">

  <input type="text" ng-model="xxxx">
  <input type="text" ng-model="yyyy">

  <br/>
  <p>{{xxxx}}</p>
  <p>{{yyyy}}</p>

</body>

</html>

  

转载于:https://www.cnblogs.com/pekkle/p/7061239.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值