Angularjs 角度输入限制为1个字符

Angularjs 角度输入限制为1个字符,angularjs,Angularjs,我想知道为什么在本例中,每次输入不能输入超过一个字符: js: 函数ctrl($scope){ $scope.foo=[]; 对于(var i=0;i如果您不介意使用HTML5,可以使用autofocus属性。只需将其添加到input字段即可 <li ng-repeat="i in items">{{i.name}} <input ng-model="i.description" autofocus></li> {{i.name} 这是一个。您正在将

我想知道为什么在本例中,每次输入不能输入超过一个字符:


js:

函数ctrl($scope){
$scope.foo=[];

对于(var i=0;i如果您不介意使用HTML5,可以使用
autofocus
属性。只需将其添加到
input
字段即可

<li ng-repeat="i in items">{{i.name}} <input ng-model="i.description" autofocus></li>
  • {{i.name}

  • 这是一个。

    您正在将模型绑定到一个基本体。它不能以这种方式工作。请对此进行完整的解释。此外,每次更改输入值时,ng重复都会刷新。这就是您失去焦点的原因

    始终绑定到对象:

    HTML:

    
    
    控制器:

    function ctrl($scope) {
      $scope.foo = [];
        for (var i=0; i<5; i++) {
            $scope.foo.push({value: ''});
        }
    }
    
    函数ctrl($scope){
    $scope.foo=[];
    
    对于(var i=0;如果是这样,我想了解它为什么切换输入though@plus-,Stewie提供的github链接解释了焦点丢失的原因——请参见mhever/Misko的第一个回复。这与原语不可变和对象引用有关吗?@plus-,原语是可变的。它的工作方式是因为JavaScript与三角镜。
    <li ng-repeat="i in items">{{i.name}} <input ng-model="i.description" autofocus></li>
    
    <td ng-repeat="f in foo">
      <input ng-model="f.value" style="width:60px" />
    </td>
    
    function ctrl($scope) {
      $scope.foo = [];
        for (var i=0; i<5; i++) {
            $scope.foo.push({value: ''});
        }
    }