Angularjs 另一个无限的$digest循环
在视图中的循环中执行循环:Angularjs 另一个无限的$digest循环,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,在视图中的循环中执行循环: <tr ng-repeat="result in results"> <td> <span ng-repeat="device in helpers.getIosDevices(result.ios_device)"> {{ device.code }} </span> </td> </tr> 助手: var CRM = C
<tr ng-repeat="result in results">
<td>
<span ng-repeat="device in helpers.getIosDevices(result.ios_device)">
{{ device.code }}
</span>
</td>
</tr>
助手:
var CRM = CRM || {};
CRM.helpers = {
// Handle "111" value format
getIosDevices: function (devices) {
var obj = [];
if (devices !== null && devices !== undefined) {
if (devices.charAt(0) === '1') {
obj.push({
code: 'ipod',
name: 'iPod',
});
}
if (devices.charAt(1) === '1') {
obj.push({
code: 'ipad',
name: 'iPad',
});
}
if (devices.charAt(2) === '1') {
obj.push({
code: 'iphone',
name: 'iPhone',
});
}
}
return obj;
}
};
出现此错误:$rootScope/infdig?p0=10&p1=%5B%5B%22fn:%E2%80%A620%20%20%7D;%20newVal:%20未定义;%20oldVal:%20未定义的%22%5D%5D
据我所知,但我不知道如何解决我的问题。我应该使用什么解决方法?此错误的原因是您试图在摘要循环期间更改
ng repeat
指令中的源代码列表
<span ng-repeat="device in helpers.getIosDevices(result.ios_device)">
^^^^^^^^
其中,设备
表示地图
这是一些可能会帮助您的演示:
$scope.results = [{
ios_device: "100"
}, {
ios_device: "010"
}, {
ios_device: "001"
}];
$scope.devices = {
"100": [{
code: 'ipod',
name: 'iPod1',
},
{
code: 'ipod',
name: 'iPod2',
}],
"010": [{
code: 'ipod',
name: 'iPod1',
},
{
code: 'ipad',
name: 'iPad2',
}],
"001": [{
code: 'ipod',
name: 'iPod1',
},
{
code: 'iphone',
name: 'iphone2',
}],
}
HTML
{{device.code}
在中演示,然后如何重写此文件以避免异常?在大多数情况下,创建的数组总是相同的。@sylouuu添加了一些演示
<tr ng-repeat="result in results">
<td>
<span ng-repeat="device in devices[result.ios_device]">
{{ device.code }}
</span>
</td>
</tr>
$scope.results = [{
ios_device: "100"
}, {
ios_device: "010"
}, {
ios_device: "001"
}];
$scope.devices = {
"100": [{
code: 'ipod',
name: 'iPod1',
},
{
code: 'ipod',
name: 'iPod2',
}],
"010": [{
code: 'ipod',
name: 'iPod1',
},
{
code: 'ipad',
name: 'iPad2',
}],
"001": [{
code: 'ipod',
name: 'iPod1',
},
{
code: 'iphone',
name: 'iphone2',
}],
}
<table>
<tr ng-repeat="result in results">
<td><span ng-repeat="device in devices[result.ios_device]">
{{ device.code }}
</span>
</td>
</tr>
</table>