をディレクティブに結果を渡す私は角のダイジェストサイクルが狂っに問題が生じています:コール角度機能と
angular.js:12330 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
私はこのカスタム指令持っている:どの、のgetDataで
<b-bar-chart b-data="getData(question)"></b-bar-chart>
を関数はコントローラ内の関数を呼び出します(一方向バインディングのディレクティブでは=の代わりに&を使用しても動作しません)。コントローラ機能:私はこれを持っているディレクティブで
$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' 'のquestion'がループ内にある'ように)この場合、どのように結合しますデータは$ scopeに示唆されていますか?助けてくれてありがとう! – timhc22
あなたは前もって必要なものに結果をマップすることができます。 –