我有一个数组用作html中表格的数据。
点击一个按钮,我将一个新值添加(推送)给这个数组,其中inturn将在表格中添加一个新行
使用$ scope.on和$ scope。$广播实现Angularjs将新值添加到数组
现在问题是新值正在添加到数组中,并且在表中(在UI中)更新相同但是"错误:[$ rootScope:infdig]"被扔了。我不确定我的代码有什么问题。
HTML:
<tr ng-repeat="employee in employeelist">
<td >{{employee.name}}</td>
</tr>
控制器:
$scope.employeelist = [];
$scope.$on("employee", function (event, args) {
$scope.addEmployee(args);
});
这是addEmployee()方法:
$scope.addEmployee = function(newemp) {
$scope.employeelist.push(newemp);
};
单击按钮我将使用新值(新员工)进行广播,如下所示(请注意,这是一个动态值。我这里只是硬编码用于演示):
$scope.add = function () {
var emp = {name:'test'};
$rootScope.$broadcast("employee", emp);
}
如果有人帮助解决此错误,会很高兴。
更新:
我想出了这个问题。问题出在&#34; stSafeSrc&#34;正在桌面上设置的属性(我正在使用智能表,我错过了在我的帖子中提到)。我们的想法是为base(st-table)和安全集合(stSafeSrc)使用单独的集合,否则它将以无限循环结束。我错过了这一部分,我找到了here