如何在angularjs中预先选择(预先点击)第一个或第二个表行?

时间:2015-08-19 12:02:03

标签: javascript angularjs

我有2张桌子。在第一个表中,我有ng-repeat和ng-click事件生成的表行。使用ng-click我在第二个表中发出一些请求和输出数据。所以第二个表首先是空的,当我从第一个表中单击我的表行时,它会被填充。如何从我的第一个表格行(第一个表格),预先点击或预选择中提出请求,以便我可以在第二个表格中输出一些默认数据?

Table1
<tr ng-repeat="task in todos" ng-show="todos.length > 0"
    ng-click="updateTaskInfo(task)>
    <td ng-bind="task.stuffs"></td>
</tr>

Table2
<tr ng-repeat="stats in statsFromTable1"
    ng-show="statsFromTable1.length > 0">
    <td ng-bind="stats .stuffs"></td>
</tr>

所以Table2首先是空的,当我点击Table1中的一些表行时,我发出请求,并传递表2中的数据。

问题:如何在Table2中使用默认数据,例如Table1中第一个或第二个表行的数据?

2 个答案:

答案 0 :(得分:0)

您可以使用ng-init指令https://docs.angularjs.org/api/ng/directive/ngInit。 或者,您可以在第一个表控制器中使用$ timeout将默认数据加载到第二个表

答案 1 :(得分:0)

您可以在将数据分配给待办事项时调用方法 例如:

$scope.foo = function(){
    $http.get(url).success(function (data) {
        $scope.todos = data;
        updateTaskInfo($scope.todos[0]);
    });
}

$ scope.todos [0]将发送列表的第一个对象。 我希望这会奏效。