У меня возникли проблемы с Угловое Дайджест цикла сходит с ума:Вызов Угловая функция в контроллере и передать результат в директиве
angular.js:12330 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
У меня есть этот обычай директиву:
<b-bar-chart b-data="getData(question)"></b-bar-chart>
в которых, GetData функция вызывает функцию в контроллере (НЕ В ДИРЕКТИВЕ, поэтому использование & вместо = в директиве для односторонней привязки не работает). Функция управления:
$scope.getData = function (question) {
return [
{
'name': 'Strongly Agree',
'value': question.stats.responsePercentages.stronglyagree
},
{
'name': 'Agree',
'value': question.stats.responsePercentages.agree
}
]
}
В директиве я это:
scope: {
// I think this should this be = and not &, because the function is in the controller and not in the directive
data: '=bData'
},
И в шаблоне директивы у меня есть это:
<li ng-repeat="d in data">
<div class="percent">{{d.value|number:0}}<span>%</span></div>
<div class="fm-bar-text">{{d.name}}</div>
</li>
Похоже, он продолжает вызывать код контроллер, который вызывает ненужные циклы. Есть ли способ убедиться, что функция getData вызывается только один раз или существует другое решение? Спасибо
В одном случае, когда это используется, директива внутри цикла (из '' questions' так находится внутри 'вопроса петли) в этом случае, как бы одна привязка данные в $ scope, как было предложено? Спасибо за совет! – timhc22
Вы могли бы сопоставить результат с тем, что вам нужно заблаговременно. –