如何更改 angular 中的最大长度值

How to change maxlength value in angular

我是 angular 的新手。我试图在点击时将 maxlength 的值从 300 更改为 140。这些按钮是使用 ng-repeat 加载的,第一个是唯一应该将值更改为 140 的按钮,其余的应该返回到 300。

这是我控制器中的内容:

//character counter
$scope.counter = function() {
    var myEl = angular.element(document.querySelector('.form-control'));
    myEl.attr('maxlength', '150');
};

我的html是这样的:

 <textarea data-ng-model="view.post.content" ng-trim="false" maxlength="340" class="form-control" style="height: 100px;"></textarea>

只需使用 ng-maxlength 并将其绑定到作用域上的 属性,这将提供验证安全性。

示例:-

 <textarea data-ng-model="view.post.content" ng-trim="false" 
            ng-maxlength="maxValue" class="form-control" 
            style="height: 100px;"></textarea>

如果你真的想限制那么只用插值maxlength={{maxValue}}。即

 <textarea data-ng-model="view.post.content" ng-trim="false" 
            maxlength="{{maxValue}}" class="form-control" 
            style="height: 100px;"></textarea>

所以最初 $scope.maxValue = 340 然后在计数器内部将 属性 的值设置为 150。

Doc

ngMaxlength (optional) number : Sets maxlength validation error key if the value is longer than maxlength. Setting the attribute to a negative or non-numeric value, allows view values of any length.

Example

使用 angular 指令 ng-maxlength

<textarea data-ng-model="view.post.content" ng-trim="false" ng-maxlength="{{len}}" class="form-control" style="height: 100px;"></textarea>

在你的控制器中

//character counter
$scope.len = 300;
$scope.counter = function() {
  $scope.len = 150;
};