2014-12-04 59 views
0

如何将一个新行按下ng点击的方式推向表格? 这是我目前的。信息在一个数组中。用新角度在表格上点击新角度

我的数组看起来像这样。

$scope.workflows = [{ 
       Id: 1, 
       Name: "Workflow Page 1", 
       Description: "Describe Workflow", 
       Steps: [{ 
        Id: 1, 
        Name: "name me", 
        Description: "describe me", 
        Action: "do something", 
        Obj: "whats the goal", 
        AdditionalInfo: "anything else", 
       }, { 
        Id: 2, 
        Name: "name me", 
        Description: "describe me", 
        Action: "do something", 
        Obj: "whats the goal", 
        AdditionalInfo: "anything else", 
       }, 
       ]}, 

      }, ]; 

这就是我想要添加到我的数组以及我如何使用范围来尝试添加它。

$scope.addStep = function(newStep) { 
    $scope.newStep = [{ 
      Id: 0, 
      Name: "Step on THIS!", 
      Description: "I dare ya!", 
      Action: "STOMP!", 
      Obj: "A Rock", 
      AdditionalInfo: "I am bleeding...", 
     }] 

    $scope.workflows.push(newStep); 
    alert("test :" + "Its GON WORK"); 

}; 

然后在HTML中,我使用ng-click来激活newStep函数,希望它在我的表中创建一个新行。

<div class="text" ng-click="addStep(newStep)"> + Click to Add a New Step</div> 

谢谢!

+0

使用'console.log'或角度的$ log来调试,而不是'alert'进行调试。 – Lekhnath 2014-12-04 18:33:58

回答

0

试着改变你的NG-点击:NG-点击= “addStep()”

然后在您的视图模型:

$scope.addStep = function() { 
     //all the stuff you have currently 

     $scope.workflows.push($scope.newStep); // line that changed 
    }; 
0

下面的方法将增加在第一个工作流的Steps一个新的台阶。您可以在addStep方法中传递工作流程的$index方法,并将0替换为能够在$index th工作流程中添加新步骤。

$scope.addStep = function() { 
    $scope.newStep = { 
     Id: 0, 
     Name: "Step on THIS!", 
     Description: "I dare ya!", 
     Action: "STOMP!", 
     Obj: "A Rock", 
     AdditionalInfo: "I am bleeding...", 
    }; 

    $scope.workflows[0].Steps.push($scope.newStep); // It will add a new step ($scope.newStep) in first workflow's Steps 
}; 

<div class="text" ng-click="addStep()"> + Click to Add a New Step</div>