加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angularjs之ngModel中的值验证绑定

发布时间:2020-12-17 10:10:22 所属栏目:安全 来源:网络整理
导读:众所周知,在Angular中ngModel为动态双向绑定,存在两种方式。 例如, 方式一: 在html中, input type = "text" ng-model = "searchText" / button ng-click = "check(searchText)" Check! / button {{ searchText }} 在controller中 $scope .check = funct

众所周知,在Angular中ngModel为动态双向绑定,存在两种方式。
例如,
方式一:
在html中,

<input type="text" ng-model="searchText" /> <button ng-click="check(searchText)">Check!</button> {{ searchText }}

在controller中

$scope.check = function (searchText) {
    console.log(searchText);
}

方式二:
引用stackoverflow的一句话,
“If you use ng-model,you have to have a dot in there.”
Make your model point to an object.property and you’ll be good to go.

在html中,

<input ng-model="formData.searchText"/>
<button ng-click="check()">Check!</button>

在controller中,

$scope.formData = {};
$scope.check = function () {
  console.log($scope.formData.searchText.$modelValue);
}

但是我们常常会对ngModel当中的值进行验证,例如,

<input type="password" pattern="[0-9]*" placeholder="请输入6位新密码" ng-model="password.new_password" ng-blur="validateLength()">
<input type="password" ng-model="password.new_password" ng-keyup="compare(password)" name="repassword" ng-pattern="/^[0-9]{1,6}$/" />

发现ngModel当中的password.new_password不能实时绑定到controller中,原因为ngModel的值并没有符合pattern的规则。若符合规则,则正常绑定传递。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读