填写表单ng-click Angular js问题

时间:2014-05-25 09:55:24

标签: javascript angularjs angularjs-scope

我正在使用角度js开发一个应用程序,每行都有一个表格,有一个编辑按钮,表格上方有一个表单,我需要做的是当用户点击特定行然后表单时填充该行的数据

这是我的表格代码

   <form role="form" ng-controller="userController" >

   <div class="form-group">
      <label>Name</label>
      <input type="text" class="form-control" ng-model="currentUser.name"/>
      <label>Description</label>
      <input type="text" class="form-control" ng-model="currentUser.Description"/>
   </div>             

以下是表格代码:

   <table class="table" id="user-table" >

        <tr ng-repeat="user in users">
          <td>
              {{ user.id }}
          </td>            
          <td>
              {{ user.name }}
          </td>
          <td>
              {{ user.Description }}
          </td>
          <td>
              <a ng-click="setCurrentUser(user.id)" class="glyphicon glyphicon-pencil"></a>
          </td>                
       </tr>           

   </table>   

在userController的javascript文件中,我有以下代码

     $scope.setCurrentUser= function( id ){         

         $scope.currentUser = $scope.users[id];
          console.log($scope.currentUser);

       }

我的问题是:虽然当我点击行时setCurrentUser运行并且对象currentUser在控制台中正确打印,为什么表单没有填充$ scope.currentUSer的数据 我在哪里弄错了,或者我应该采取另一种方法来处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

您可以在此处使用多种方法。
首先,您可以在表格中设置一个洞user对象到currentUser对象:

$scope.setCurrentUser= function(user){         
  $scope.currentUser = user;
}

第二次,您可以将$indexng-repeat推送到setCurrentUser($index)并按此索引查找用户。

<table class="table" id="user-table" >

    <tr ng-repeat="user in users">
      <td>
          {{ user.id }}
      </td>            
      <td>
          {{ user.name }}
      </td>
      <td>
          {{ user.Description }}
      </td>
      <td>
          <a ng-click="setCurrentUser($index)" class="glyphicon glyphicon-pencil"></a>
      </td>                
   </tr>           
</table>   

在控制器中:

$scope.setCurrentUser= function(index){         
  $scope.currentUser = $scope.users[index];
}

ngRepeat docs

中的Chek $index财产