2014-04-02 23 views
5

我正在嘗試使用ng-maxLength指令爲我的輸入提供變量最大長度。ng-maxlength不適用於變量

function ValidatorCtrl($scope, $timeout) { 
    $scope.name = "Star"; 
    $scope.$metadata={}; 
    $scope.$metadata.isRequired = true; 
    $scope.$metadata.maxLength=5; 
} 


    <input type="text" ng-model="name" ng-maxlength="$metadata.maxLength" 
ng-required="$metadata.isRequired" name="name" /> 

但它似乎沒有按預期工作。應用時,同一變量的模型綁定不起作用。 Here is my plunker

如果我刪除ng-maxLength ng-required將按預期工作,否則ng-required也不起作用。

+4

我認爲這是一個錯誤https://github.com/angular/angular.js/issues/1405如果你直接把5它工作似乎ng-maxlength =「{{$ metadata.maxLength}}」工作 – Whisher

+1

'ng-maxlength =「{{$ metadata.maxLength}}」'似乎在工作 –

+0

是的,好像是一個錯誤。 –

回答

1

ng-maxlength不採用範圍值。
傳統上,ng-maxlength被用作ng-maxlength =「3」。 您可以在範圍值附近添加大括號,也可以在ng-maxlength內創建一個綁定範圍值的指令。