2016-07-25 56 views
0

我正在按照教程来获得对angularjs的基本理解。在我的情况下,编辑链接不会将对象属性加载回文本框。请让我知道我做错了这里是代码和小提琴AngularJs简单编辑

<body> 
<div class="scope" data-ng-app="mymodule" data-ng-controller="mycontroller"> 
    <h3>AngularJS Filter data sample </h3> 
    <br /> 
    Name:<br /> 
    <input type="text" data-ng-model="Name" /><br /> 
    <input type="text" data-ng-model="Position" /><br /> 
    <button data-ng-click="addfriend()"> Add Friend</button> 
    <br /> 
    <input type="text" data-ng-model="Namesearch" /><br /> 
    <ul> 
     <li class="li" data-ng-repeat="element in friendlist | filter:Namesearch | orderBy:'Name'"> 
      <strong> [{{$index + 1}}] {{ element.Name | uppercase}} working as {{ element.Position}} </strong> 
      [ <a href="#" ng-click="clearUser(element)">clear</a> 
      | <a href="#" ng-click="removeUser(element)">X</a> 
      | <a href="#" ng-click="editUser(1)">edit</a> 
      ] 
     </li> 
    </ul> 
</div> 
</body> 

而且JS代码

var mymodule = angular.module('mymodule', []) 
mymodule.controller('mycontroller', ['$scope', function ($scope) { 
    $scope.friendlist = 
     [{ Name: 'Zia', Position: 'AM' }, { Name: 'Zia1', Position: 'PM' }, { Name: 'Zia2', Position: 'GM' } 
     ]; 

    $scope.editUser = function (id) { 

     for (i in $scope.friendlist) { 
      if ($scope.friendlist[i].Name == 'Zia') { 

       $scope.newFriend = angular.copy($scope.friendlist[i]); 
      } 
     } 
    } 
}]); 

fiddle

,也是我想知道的class="scope"在第一个的意义div

+0

我没有看到小提琴链接 –

+0

'for(i in $ scope.friendlist){' - 迭代数组时使用常规'for'循环 - 'for..in'用于迭代对象属性。 – tymeJV

+0

小提琴链接添加 – Zia

回答

0

这是否解决了您的问题? http://jsfiddle.net/3hv7y369/

在输入中,您需要newFriend.NamenewFriend.Position来显示复制的值。我还完成了editUser()函数,以便与每个用户一起工作。

+0

以及如何更新已更改的值以再次显示在列表中 – Zia

+0

我建议您创建一个“保存”按钮,将值复制到'$ scope.friendlist'中的相应条目。这会自动更新显示的列表。 – fdelia