У меня есть рекурсивная Ng-включают, что приводит к ошибке: $ rootScope: infdig Бесконечные $ дайджеста Loop
В моей Ctrl:
function getTemplate(elementType) {
console.log(elementType + '_formElement.html');
return elementType + '_formElement.html';
};
На мой взгляд:
<div ng-repeat="element in elementList track by $index" ng-init="templateID=vm.getTemplate(element.elementType)">
<ng-include src="templateID"></ng-include>
</div>
Результат: Достигнуто 10 $ digest() итераций. Aborting!
Watchers fired in the last 5 iterations: [[{"msg":"fn: function (c,e,f,g){f=d&&g?g[0]:a(c,e,f,g);return b(f,c,e)}","newVal":3},{"msg":"fn: function (a){return d(a)}","newVal":""},{"msg":"templateID","newVal":"ROW_formElement.html"}],[{"msg":"fn: function (c,e,f,g){f=d&&g?g[0]:a(c,e,f,g);return b(f,c,e)}","newVal":3},{"msg":"fn: function (a){return d(a)}","newVal":""},{"msg":"templateID","newVal":"ROW_formElement.html"}],[{"msg":"fn: function (c,e,f,g){f=d&&g?g[0]:a(c,e,f,g);return b(f,c,e)}","newVal":3},{"msg":"fn: function (a){return d(a)}","newVal":""},{"msg":"templateID","newVal":"ROW_formElement.html"}],[{"msg":"fn: function (c,e,f,g){f=d&&g?g[0]:a(c,e,f,g);return b(f,c,e)}","newVal":3},{"msg":"fn: function (a){return d(a)}","newVal":""},{"msg":"templateID","newVal":"FIELD_formElement.html"}],[{"msg":"templateID","newVal":"TEXT_field.html"},{"msg":"fn: function (a){return d(a)}","newVal":""}]]
console.log:
ROW_formElement.html
7 ROW_formElement.html
FIELD_formElement.html
Я знаю, что я могу увеличить TTL, как следующие, но есть ли другое решение?
angular.module('myApp',[]) .config(function($rootScopeProvider) { $rootScopeProvider.digestTtl(number); //some number bigger then 10 })
Можете ли вы предоставить образец рабочего кода каким-то образом? Цикл дайджеста, по-видимому, повторно перезапускается после постоянных изменений значений. –
Что делает функция 'getTemplate()'? – Robba
Это функция, которую я опубликовал, извините, я изменил ее название. Я попытаюсь создать plnkr, когда у меня будет время. – Olezt