2016-05-31 15 views
0

Angular JSでインライン編集を実装したいが、次のコードが機能しない。Angular Jsのインライン編集

<tr ng-repeat="employee in employees" ng-include="getTemplate(employee)"> 
        <script type="text/ng-template" id="display"> 
        <td>{{employee.Name}}</td> 
        <td ng-bind="employee.Age"></td> 
        <td ng-bind="employee.City"></td> 
        <td><a href="#" ng-click="EditEmployee(employee.EmpId)">Edit</a> </td> 
        <td><a href="#" ng-click="DeleteEmployee(employee.EmpId)">Delete</a> </td> 
</script> 


        <script type="text/ng-template" id="edit"> 
    <td><input type="hidden" ng-model="newemployee.EmpId" class="form-control input-sm"/></td> 
    <td><input type="text" ng-model="newemployee.Name" class="form-control input-sm"/></td> 
    <td><input type="text" ng-model="newemployee.Age" class="form-control input-sm"/></td> 
    <td><input type="text" ng-model="newemployee.City" class="form-control input-sm"/></td> 
    <td> 
    <button type="button" class="btn btn-primary" ng-click="updateEmployee(employee)">Save</button> 
    <button type="button" class="btn btn-danger" ng-click="reset()">Cancel</button> 
    </td> 
        </script> 
       </tr> 

次のコードは、ngIncludeディレクティブは主に自分のページにHTMLのチャンクを含めるために使用される

$scope.employees = []; 
$scope.getTemplate = function (employee) { 
     if (employee.empId === $scope.selected.empId){ 
      return 'edit'; 
     } 
     else return 'display'; 
    }; 

答えて

0

called-取得されていません。私はあなたが本当にここでそれが必要であるかどうかは分かりません。

あなたは多分、単に行うことができます:

<tr ng-repeat="employee in employees" {{getTemplate(employee)}}"> 

またはクラス属性にこれらのラベルを追加するには、あなたが好む場合:

<tr ng-repeat="employee in employees" class="{{getTemplate(employee)}}"> 
+0

私は次のリンク からの助けを取っています[リンク](のhttp:/ /www.c-sharpcorner.com/UploadFile/shubham0987/creating-simple-inline-editing-with-angularjs/) –

関連する問題